/* global React, HOUSE */ // ============== CHROME: Nav, Footer, Silk placeholder, Marquee, Page header ============== const { useState, useEffect, useRef } = React; const ROUTES = [ { id: "home", label: "Maison" }, { id: "haute-couture",label: "Haute Couture" }, { id: "bridal", label: "Bridal" }, { id: "ready-to-wear",label: "Ready-to-Wear" }, { id: "jewellery", label: "Jewellery" }, { id: "fragrance", label: "Fragrance" }, { id: "archive", label: "Archive" }, { id: "founders", label: "Founders" }, ]; function Nav({ route, setRoute }) { const [open, setOpen] = useState(false); const go = (r) => { setRoute(r); setOpen(false); }; return ( ); } function Footer({ setRoute }) { return ( ); } function FooterCol({ title, children }) { return (
{title}
); } // Striped silk placeholder — used in place of imagery we don't have/should not invent function Silk({ label, aspect = "3/4", style = {} }) { return (
{label}
); } // Section header with eyebrow + display + side note function SectionHeader({ eyebrow, title, note, align = 'kicker' }) { if (align === 'kicker') { return (
{eyebrow}

{title}

{note &&
{note}
}
); } return (
{eyebrow}

{title}

{note &&

{note}

}
); } // Page hero — a generic title bar used by every interior page function PageHero({ eyebrow, title, sub, imageSrc, imageAlt }) { return (
{eyebrow}

{title}

{sub &&

{sub}

} {imageSrc && (
{imageAlt
)}
); } // Currency formatter function aed(n) { return new Intl.NumberFormat('en-AE', { maximumFractionDigits: 0 }).format(n); } Object.assign(window, { Nav, Footer, FooterCol, Silk, SectionHeader, PageHero, aed, ROUTES });