/* Tweaks app — renders only the Tweaks panel and applies choices to the vanilla portfolio via CSS custom properties + body/html classes. */ const { useEffect } = React; const ACCENTS = { "UH Scarlet": { c: "#C8102E", d: "#9E0B23" }, "Crimson": { c: "#A4133C", d: "#7C0E2D" }, "Navy": { c: "#1D4E89", d: "#143862" }, "Forest": { c: "#1F6B4A", d: "#154E36" }, "Ink": { c: "#2E2A24", d: "#171410" }, }; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "UH Scarlet", "scale": 1, "paper": "Warm", "snap": true }/*EDITMODE-END*/; function TweaksApp() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); useEffect(() => { const root = document.documentElement; const a = ACCENTS[t.accent] || ACCENTS["UH Scarlet"]; root.style.setProperty("--scarlet", a.c); root.style.setProperty("--scarlet-d", a.d); root.style.setProperty("--scale", String(t.scale)); if (t.paper === "Pure white") { root.style.setProperty("--paper", "#FFFFFF"); root.style.setProperty("--paper-2", "#F6F5F2"); } else { root.style.setProperty("--paper", "#FBFAF7"); root.style.setProperty("--paper-2", "#F4F1EA"); } root.classList.toggle("snap", !!t.snap); }, [t]); return ( setTweak("accent", v)} /> setTweak("paper", v)} /> setTweak("scale", v)} /> setTweak("snap", v)} /> ); } ReactDOM.createRoot(document.getElementById("tweaks-root")).render();