arbritage/index.html

128 lines
5.9 KiB
HTML
Raw Normal View History

2026-01-26 14:20:25 +00:00
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Arbitra System</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap"
rel="stylesheet">
<script>
tailwind.config = {
theme: {
extend: {
fontFamily: {
sans: ['"Plus Jakarta Sans"', 'sans-serif'],
},
colors: {
// Overriding defaults for a Premium Neutral palette
border: "hsl(var(--border))",
input: "hsl(var(--input))",
ring: "hsl(var(--ring))",
background: "hsl(var(--background))",
foreground: "hsl(var(--foreground))",
primary: {
DEFAULT: "hsl(var(--primary))",
foreground: "hsl(var(--primary-foreground))",
},
secondary: {
DEFAULT: "hsl(var(--secondary))",
foreground: "hsl(var(--secondary-foreground))",
},
destructive: {
DEFAULT: "hsl(var(--destructive))",
foreground: "hsl(var(--destructive-foreground))",
},
muted: {
DEFAULT: "hsl(var(--muted))",
foreground: "hsl(var(--muted-foreground))",
},
accent: {
DEFAULT: "hsl(var(--accent))",
foreground: "hsl(var(--accent-foreground))",
},
popover: {
DEFAULT: "hsl(var(--popover))",
foreground: "hsl(var(--popover-foreground))",
},
card: {
DEFAULT: "hsl(var(--card))",
foreground: "hsl(var(--card-foreground))",
},
},
borderRadius: {
lg: "var(--radius)",
md: "calc(var(--radius) - 2px)",
sm: "calc(var(--radius) - 4px)",
},
}
}
}
</script>
<script type="importmap">
{
"imports": {
"lucide-react": "https://esm.sh/lucide-react@^0.562.0",
"@google/genai": "https://esm.sh/@google/genai@^1.35.0",
"react-dom/": "https://esm.sh/react-dom@^19.2.3/",
"recharts": "https://esm.sh/recharts@^3.6.0",
"react": "https://esm.sh/react@^19.2.3",
"react/": "https://esm.sh/react@^19.2.3/"
}
}
</script>
<link rel="stylesheet" href="/index.css">
</head>
<body class="bg-slate-950 text-slate-100 antialiased selection:bg-indigo-500 selection:text-white">
<div id="root"></div>
<script type="module" src="/index.tsx"></script>
<script>
window.addEventListener('message', (event) => {
if (event.data && event.data.type === 'UPDATE_APPEARANCE') {
const settings = event.data.settings;
if (!settings) return;
let css = '';
if (settings.primaryColor) {
css += "\n:root { " +
"--color-brand-primary: " + settings.primaryColor + " !important; " +
"--color-brand-blue: " + settings.primaryColor + " !important; " +
"--color-brand-gold: " + settings.primaryColor + " !important; " +
"--color-blue-500: " + settings.primaryColor + " !important; " +
"--color-blue-600: " + settings.primaryColor + " !important; " +
"--color-emerald-500: " + settings.primaryColor + " !important; " +
"--color-emerald-600: " + settings.primaryColor + " !important; " +
"} " +
".text-brand-blue, .text-blue-600, .group-hover\\:text-blue-600:hover, .text-brand-gold, .text-emerald-600, .text-blue-500, .text-emerald-500 { color: " + settings.primaryColor + " !important; } " +
".bg-brand-blue, .bg-blue-600, .hover\\:bg-blue-500:hover, .bg-brand-gold, .bg-emerald-600, .bg-blue-500, .bg-emerald-500 { background-color: " + settings.primaryColor + " !important; } " +
".border-brand-blue, .border-blue-600, .focus\\:border-blue-600:focus, .border-brand-gold, .border-emerald-600, .border-blue-500, .border-emerald-500 { border-color: " + settings.primaryColor + " !important; } " +
".fill-blue-600, .fill-emerald-600 { fill: " + settings.primaryColor + " !important; }";
}
if (settings.backgroundColor) {
css += "\n:root { --color-brand-bg: " + settings.backgroundColor + " !important; } body { background-color: " + settings.backgroundColor + " !important; }";
}
if (settings.fontFamily) {
const fontLink = document.getElementById('dynamic-font');
const fontName = settings.fontFamily.replace(/ /g, '+');
const fontUrl = 'https://fonts.googleapis.com/css2?family=' + fontName + ':wght@300;400;500;600;700&display=swap';
if (fontLink) { (fontLink as HTMLLinkElement).href = fontUrl; } else {
const link = document.createElement('link'); link.id = 'dynamic-font'; link.rel = 'stylesheet'; link.href = fontUrl; document.head.appendChild(link);
}
css += "\n:root { " +
"--font-sans: \"" + settings.fontFamily + "\", sans-serif !important; " +
"--font-serif: \"" + settings.fontFamily + "\", serif !important; " +
"--font-mono: \"" + settings.fontFamily + "\", monospace !important; " +
"} * { font-family: \"" + settings.fontFamily + "\", sans-serif !important; }";
}
let styleNode = document.getElementById('dynamic-theme-style');
if (!styleNode) { styleNode = document.createElement('style'); styleNode.id = 'dynamic-theme-style'; document.head.appendChild(styleNode); }
styleNode.innerHTML = css;
}
});
// Ping parent window that we are ready
window.parent.postMessage({ type: 'IFRAME_READY' }, '*');
</script>
2026-01-26 14:20:25 +00:00
</body>
</html>