/* global React, ReactDOM,
Navbar, Footer, WhatsAppFab, Ticker,
HomePage, CommunitiesPage, CommunityPage, AgentPage, TeamPage, SellPage, ContactPage,
useTweaks, TweaksPanel, TweakSection, TweakRadio, TweakColor, TweakSelect, TweakToggle */
// ============================================================
// Tweak defaults
// ============================================================
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"accent": "#F44842",
"density": "editorial",
"typePairing": "cormorant-inter",
"gridLayout": "bento",
"showSampleWatermark": true,
"locale": "EN"
}/*EDITMODE-END*/;
const ACCENT_OPTIONS = [
"#F44842", // Espace coral-red (signature)
"#13384A", // Marine deep blue
"#B68A52", // Sand warm desert
"#1A1919", // Pure ink (monochrome)
];
const TYPE_OPTIONS = [
{ label: "Cormorant + Inter", value: "cormorant-inter" },
{ label: "Tenor + Manrope", value: "tenor-manrope" },
{ label: "Cormorant + Manrope", value: "cormorant-manrope" },
];
function applyType(pairing) {
const map = {
"cormorant-inter": ['"Cormorant Garamond", "Times New Roman", serif', '"Inter", system-ui, sans-serif'],
"tenor-manrope": ['"Tenor Sans", "Cormorant Garamond", serif', '"Manrope", system-ui, sans-serif'],
"cormorant-manrope": ['"Cormorant Garamond", serif', '"Manrope", system-ui, sans-serif'],
};
const [serif, sans] = map[pairing] || map["cormorant-inter"];
document.documentElement.style.setProperty("--font-serif", serif);
document.documentElement.style.setProperty("--font-sans", sans);
}
// ============================================================
// Tweaks Panel
// ============================================================
function EspaceTweaks({ tweaks, setTweak }) {
React.useEffect(() => {
document.documentElement.style.setProperty("--accent", tweaks.accent);
}, [tweaks.accent]);
React.useEffect(() => {
document.body.setAttribute("data-density", tweaks.density);
}, [tweaks.density]);
React.useEffect(() => {
applyType(tweaks.typePairing);
}, [tweaks.typePairing]);
return (
messages/ar.json.
messages/{locale.toLowerCase()}.json. UI chrome translated; long-form content stays EN in this prototype.