// Main app — routing, tweaks, composition
const { useState, useEffect } = React;
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"heroLayout": "editorial",
"portfolioStyle": "editorial",
"density": "regular",
"accent": "#d4ff3a",
"showStats": true
}/*EDITMODE-END*/;
function App() {
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
const [page, setPage] = useState('home');
const [caseId, setCaseId] = useState(null);
const [devId, setDevId] = useState(null);
const [post, setPost] = useState(null);
const [tool, setTool] = useState(null);
const [authScreen, setAuthScreen] = useState('login');
const densityClass = t.density === 'compact' ? 'density-compact' : t.density === 'comfy' ? 'density-comfy' : '';
useEffect(() => {
document.documentElement.style.setProperty('--accent', t.accent);
}, [t.accent]);
const openCase = (p) => { setCaseId(p.id); setPage('case'); window.scrollTo({top:0}); };
const openDev = (id) => { setDevId(id); setPage('dev'); window.scrollTo({top:0}); };
const openPost = (p) => { setPost(p); setPage('post'); window.scrollTo({top:0}); };
const openTool = (t) => { setTool(t); setPage('tool'); window.scrollTo({top:0}); };
const openAuth = (s) => { setAuthScreen(s); setPage('auth'); window.scrollTo({top:0}); };
// Chrome (Nav + Footer) only shows on marketing/public pages
const adminPages = ['cms', 'portal', 'auth', 'email', 'onboarding', 'analytics'];
const showChrome = !adminPages.includes(page);
return (
{showChrome &&
);
}
ReactDOM.createRoot(document.getElementById('root')).render();