const { useState, useEffect } = React; const PALETTES = { "noir-bronze": { noir: "#0C0C0C", ivory: "#F5F1EA", bronze: "#C29E66" }, "ink-champagne": { noir: "#14110F", ivory: "#F2EADD", bronze: "#D4B88A" }, "charcoal-gold": { noir: "#1A1816", ivory: "#EFEAE0", bronze: "#B8894D" }, "jet-rose": { noir: "#0A0A0A", ivory: "#F4EFE8", bronze: "#C89983" }, }; const FONTS = { "marcellus-outfit": { display: "'Marcellus', serif", sans: "'Outfit', sans-serif" }, "cormorant-manrope": { display: "'Cormorant Garamond', serif", sans: "'Manrope', sans-serif" }, "italiana-jost": { display: "'Italiana', serif", sans: "'Jost', sans-serif" }, }; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "palette": "noir-bronze", "fonts": "marcellus-outfit", "heroVariant": "split" }/*EDITMODE-END*/; function App() { const [tweaks, setTweaks] = useState(TWEAK_DEFAULTS); const [editMode, setEditMode] = useState(false); const goToBooking = () => { window.location.href = "/booking"; }; const [scrolled, setScrolled] = useState(false); useEffect(() => { const onMsg = (e) => { if (e.data?.type === "__activate_edit_mode") setEditMode(true); if (e.data?.type === "__deactivate_edit_mode") setEditMode(false); }; window.addEventListener("message", onMsg); window.parent.postMessage({ type: "__edit_mode_available" }, "*"); return () => window.removeEventListener("message", onMsg); }, []); useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 40); window.addEventListener("scroll", onScroll); return () => window.removeEventListener("scroll", onScroll); }, []); const palette = PALETTES[tweaks.palette] || PALETTES["noir-bronze"]; const fonts = FONTS[tweaks.fonts] || FONTS["marcellus-outfit"]; useEffect(() => { const root = document.documentElement; root.style.setProperty("--noir", palette.noir); root.style.setProperty("--ivory", palette.ivory); root.style.setProperty("--bronze", palette.bronze); root.style.setProperty("--display", fonts.display); root.style.setProperty("--sans", fonts.sans); }, [palette, fonts]); const updateTweak = (key, value) => { const next = { ...tweaks, [key]: value }; setTweaks(next); window.parent.postMessage({ type: "__edit_mode_set_keys", edits: { [key]: value } }, "*"); }; return (