// Elegancy Glass — App const { useEffect } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#25447b", "darkMode": false, "showGalleryTags": true }/*EDITMODE-END*/; const ACCENT_PRESETS = { "Elegancy Blue": "#25447b", "Azul escuro": "#1d3561", "Azul médio": "#2e5fa3", "Grafite": "#3a4a5c", "Champagne": "#b08555", }; function App() { const [tweaks, setTweak] = useTweaks(TWEAK_DEFAULTS); // Apply theme + accent useEffect(() => { const root = document.documentElement; root.setAttribute('data-theme', tweaks.darkMode ? 'dark' : 'light'); root.style.setProperty('--accent', tweaks.accent); // derive deep variant root.style.setProperty('--accent-deep', shade(tweaks.accent, -15)); }, [tweaks.accent, tweaks.darkMode]); // Reveal-on-scroll useEffect(() => { const obs = new IntersectionObserver((entries) => { entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in'); obs.unobserve(e.target); } }); }, { threshold: 0.12 }); document.querySelectorAll('.section, .testimonial, .service, .why-cell, .process-item, .gallery-item, .faq-item, .hero-meta-item').forEach(el => { el.classList.add('reveal'); obs.observe(el); }); return () => obs.disconnect(); }, []); return ( <>