// App shell — page routing + tweaks panel const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#FF6A1A", "headline1": "STICK IT", "headline2": "TO 'EM.", "subhead": "Premium die-cut vinyl stickers, holographic, glitter & sheets — printed in Australia and ready to wreck your laptop.", "page": "home" }/*EDITMODE-END*/; function App() { const [page, setPage] = React.useState(window.location.hash.replace('#','') || 'home'); const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); React.useEffect(()=>{ const root = document.documentElement; root.style.setProperty('--orange', t.accent); }, [t.accent]); React.useEffect(()=>{ const onHash = ()=> setPage(window.location.hash.replace('#','') || 'home'); window.addEventListener('hashchange', onHash); return ()=>window.removeEventListener('hashchange', onHash); }, []); const go = (p) => { setPage(p); window.location.hash = p; window.scrollTo({top:0, behavior:'instant'}); }; // expose tweaks/page injection const inject = { t, setTweak }; return ( <> {(()=>{ if (page==='product' || page==='die-cut') return ; if (page==='holo') return ; if (page==='sheets') return ; if (page==='glitter') return ; if (page==='clear') return ; if (page==='mural') return ; if (page==='kiss-cut') return ; if (page==='bulk') return ; if (page==='sample') return ; if (page==='shop') return ; if (page==='artwork-guidelines') return ; if (page==='templates') return ; if (page==='materials-guide') return ; if (page==='sizing-guide') return ; if (page==='sustainability') return ; if (page==='blog') return ; if (page==='install-guide') return ; if (page==='contact') return ; if (page==='help-center') return ; if (page==='order-tracking') return ; if (page==='returns') return ; if (page==='shipping') return ; return ; })()} setTweak('accent', v)} options={['#FF6A1A','#FF3D7F','#3D7AFE','#2BB04A','#A23BFF','#111111']}/> go(v)} options={[ { value:'home', label:'Home' }, { value:'product', label:'Product' }, { value:'sample', label:'Sample' }, ]}/> {page==='home' && <> setTweak('headline1', v)}/> setTweak('headline2', v)}/> setTweak('subhead', v)}/> } ); } ReactDOM.createRoot(document.getElementById('root')).render();