// Burger Summit 2026 — App principal + Tweaks
const { useState, useEffect } = React;
const ACCENTS = {
'#D94A1A': '#EA5A22', // Brasa
'#E6192B': '#F23A4B', // Vermelho
'#00A859': '#14C46D', // Verde campo
};
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"accent": "#D94A1A",
"heroTone": "hot",
"dots": true
}/*EDITMODE-END*/;
function scrollToId(id) {
const el = document.getElementById(id);
if (el) window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - 64, behavior: 'smooth' });
}
function MobileMenu({ open, onClose, onNav }) {
if (!open) return null;
const links = [['Manifesto','manifesto'],['Palestrantes','palestrantes'],['Local','local'],['VIP','vip'],['Ingressos','ingressos'],['FAQ','faq']];
return (
e.stopPropagation()}>
{links.map(([l,id])=>(
{onClose(); setTimeout(()=>onNav(id),60);}}
style={{color:'#fff',textDecoration:'none',fontFamily:'var(--font-display)',fontWeight:900,textTransform:'uppercase',fontSize:'26px',padding:'12px 0',borderBottom:'1px solid rgba(255,255,255,.1)'}}>{l}
))}
);
}
function App() {
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
const [plan, setPlan] = useState(null);
const [menu, setMenu] = useState(false);
useEffect(() => {
const id = setTimeout(() => window.setupReveals && window.setupReveals(), 80);
return () => clearTimeout(id);
}, []);
const buy = (info) => setPlan(info);
const goTickets = () => scrollToId('ingressos');
const accentBright = ACCENTS[t.accent] || t.accent;
const L = window.BS_LOTES;
const autoUrg = L.isLast
? 'Último lote no ar · vagas finais para o Burger Summit 2026'
: 'Virada de lote: ' + L.nextDate + ' · garanta o ' + L.label + ' antes do reajuste';
return (
setMenu(true)} />
Dúvidas? Clique aqui
setMenu(false)} onNav={scrollToId} />
setPlan(null)} />
setTweak('accent', v)} />
setTweak('heroTone', v)} />
setTweak('dots', v)} />
);
}
ReactDOM.createRoot(document.getElementById('root')).render();