// app.jsx — Compose everything, mount root, wire tweaks const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "vibe": "playground", "palette": "bright", "typography": "modern", "headlineIdx": 0, "ctaIdx": 0 }/*EDITMODE-END*/; const VIBE_OPTIONS = [ { id: 'playground', tr: 'Neşeli', en: 'Playful' }, { id: 'atelier', tr: 'Atölye', en: 'Atelier' }, { id: 'institute', tr: 'Enstitü', en: 'Institute' }, ]; const PALETTE_OPTIONS = [ { id: 'bright', label: 'Bright', swatch: ['#FF5A36', '#FFC93E', '#4FB5F0', '#FFF6E6'] }, { id: 'blueprint', label: 'Blueprint', swatch: ['#C95A3D', '#E9A14A', '#3E6B9E', '#F3EDDF'] }, { id: 'dark', label: 'Dark', swatch: ['#FF6B47', '#FFD15C', '#5FC0F5', '#14101F'] }, { id: 'pastel', label: 'Pastel', swatch: ['#E47A66', '#F0C566', '#8FB8D9', '#FBF7F2'] }, ]; const TYPOGRAPHY_OPTIONS = [ { id: 'modern', label: 'Bricolage' }, { id: 'editorial', label: 'Serif' }, { id: 'round', label: 'Round' }, { id: 'display', label: 'Display' }, ]; const HEADLINE_LABELS = ['Tasarlasın', 'Tasarlayanlar', 'Üretecek', 'Merakı']; const CTA_LABELS = ['Kayıt Ol', 'Yer Ayır', 'Kaydet', 'Başla']; function App() { const [lang, setLang] = React.useState('tr'); const [leadOpen, setLeadOpen] = React.useState(false); const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); // Apply theme to React.useEffect(() => { document.documentElement.setAttribute('data-palette', t.palette); document.documentElement.setAttribute('data-typography', t.typography); document.documentElement.setAttribute('data-vibe', t.vibe || 'playground'); }, [t.palette, t.typography, t.vibe]); // Update React.useEffect(() => { document.documentElement.lang = lang; }, [lang]); const openLead = () => setLeadOpen(true); const closeLead = () => setLeadOpen(false); return ( <>