// Main page sections. Loaded as Babel script. // Globals expected: React, COPY, Icon, SectionHeader, CountUp. const { useState: useState_s, useEffect: useEffect_s, useRef: useRef_s } = React; // ── Hero ──────────────────────────────────────────────────────────────────── function Hero({ locale, onRegister, onBrochure, dir }) { const t = COPY[locale] || COPY.en; const h = t.hero; const [scrolled, setScrolled] = useState_s(false); useEffect_s(() => { const on = () => setScrolled(window.scrollY > 40); on(); window.addEventListener('scroll', on, { passive: true }); return () => window.removeEventListener('scroll', on); }, []); return (
SG {h.address}

{h.eyebrow}

{h.title1} {h.title2} {h.titleSub}

{h.sub}

{h.status}
{h.address}
An IHG branded residence · by Select Group
{ e.preventDefault(); const el = document.getElementById('facts'); if (el) window.scrollTo({ top: el.offsetTop - 64, behavior: 'smooth' }); }}> Scroll
); } // ── Facts strip ───────────────────────────────────────────────────────────── function Facts({ locale, showFigures = true }) { const t = COPY[locale] || COPY.en; const f = t.facts || COPY.en.facts; return (

{f.title}

{f.cite}

{f.items.map((it, i) => (
{showFigures ? : }
{it.unit}
{it.note}
))}

{f.worldsTallest}

{f.worldsTallestCite}

); } // ── Overview ──────────────────────────────────────────────────────────────── function Overview({ locale }) { const t = COPY[locale] || COPY.en; const o = t.overview || COPY.en.overview; return (
{o.body.map((p, i) =>

{p}

)}
{o.pillars.map((p) => (
{p.k}
{p.v}
))}
); } // ── Location ──────────────────────────────────────────────────────────────── function Location({ locale }) { const t = COPY[locale] || COPY.en; const l = t.location || COPY.en.location; return (
Marina horizon from the sky deck
Sky deck · horizon view

{l.body}

{l.points.map((p) => (
{p.k}
{p.v}
))}
{/* Abstract locator — not a real map. Marina coastline as flowing curves. */}
SIX SENSES MARINA DUBAI MARINA JBR · BEACHFRONT ARABIAN GULF
{l.mapNote}
); } // ── Design & Architecture (full-bleed image with caption block) ───────────── function Design({ locale }) { const t = COPY[locale] || COPY.en; const d = t.design || COPY.en.design; return (

{d.body}

); } // ── Residences (typology cards) ───────────────────────────────────────────── function Residences({ locale }) { const t = COPY[locale] || COPY.en; const r = t.residences || COPY.en.residences; // Tiny abstract plan diagrams (suggestive, not real plans) const Plan = ({ kind }) => { const stroke = '#292F68'; const s = { fill: 'none', stroke, strokeWidth: 0.8 }; if (kind === 0) return ( ); if (kind === 1) return ( ); if (kind === 2) return ( ); return ( ); }; return (

{r.body}

{r.types.map((ty, i) => (

{ty.spec}

{ty.name}

{ty.note}

By enquiry
))}

{r.footnote}

); } // ── Amenities ─────────────────────────────────────────────────────────────── function Amenities({ locale }) { const t = COPY[locale] || COPY.en; const a = t.amenities || COPY.en.amenities; const images = [ 'ssm-amenity-wellness.webp', 'ssm-amenity-longevity.webp', 'ssm-residence-interior.webp', ]; return (

{a.body}

{images.map((src, i) => (
))}
    {a.list.map((it, i) => (
  • {String(i + 1).padStart(2, '0')}

    {it.t}

    {it.d}

  • ))}
); } // ── Gallery (horizontal filmstrip) ────────────────────────────────────────── function Gallery({ locale }) { const t = COPY[locale] || COPY.en; const g = t.gallery || COPY.en.gallery; const items = [ { src: 'project-six-senses-marina-tower.webp', cap: 0 }, { src: 'project-six-senses-marina-render2.webp', cap: 1 }, { src: 'ssm-skydeck-horizon.webp', cap: 2 }, { src: 'ssm-amenity-wellness.webp', cap: 3 }, { src: 'ssm-amenity-longevity.webp', cap: 4 }, { src: 'ssm-residence-interior.webp', cap: 5 }, ]; const scrollerRef = useRef_s(null); const [active, setActive] = useState_s(0); useEffect_s(() => { const el = scrollerRef.current; if (!el) return; const onScroll = () => { const w = el.clientWidth; const idx = Math.round(el.scrollLeft / w); setActive(idx); }; el.addEventListener('scroll', onScroll, { passive: true }); return () => el.removeEventListener('scroll', onScroll); }, []); const go = (dir) => { const el = scrollerRef.current; if (!el) return; el.scrollBy({ left: dir * el.clientWidth, behavior: 'smooth' }); }; return ( ); } // ── Provenance (track record + scale + awards) ────────────────────────────── function Provenance({ locale, showFigures = true }) { const t = COPY[locale] || COPY.en; const p = t.provenance || COPY.en.provenance; const [showAlt, setShowAlt] = useState_s(false); const scale = showAlt ? p.scale.alt : p.scale; return (

{p.body}

{p.cite}

    {p.milestones.map((m, i) => (
  1. {m.y}
    {m.t}

    {m.d}

  2. ))}
{showFigures && (

Scale at a glance

{['a', 'b', 'c'].map((k) => (
{scale[k].unit}
{scale[k].note}
))}
)}

Awards · verified

    {p.awards.map((aw, i) => (
  • {aw.y}
    {aw.t}

    {aw.i}

  • ))}
); } // ── Other launches ────────────────────────────────────────────────────────── function OtherLaunches({ locale }) { const t = COPY[locale] || COPY.en; const l = t.launches || COPY.en.launches; return (
{l.items.map((it, i) => (

{it.t}

{it.d}

View development
))}
); } // ── Conversion footer ─────────────────────────────────────────────────────── function Conversion({ locale, onSent, onViewing, onBrochure, onBroker }) { const t = COPY[locale] || COPY.en; const c = t.convert || COPY.en.convert; const altActions = [ { ...c.alt[0], action: onBrochure }, { ...c.alt[1], action: onViewing }, { ...c.alt[2], action: () => window.open('https://wa.me/971524596183', '_blank', 'noopener') }, { ...c.alt[3], action: onBroker }, ]; return (

{c.body}

    {altActions.map((a, i) => (
  • ))}
); } Object.assign(window, { Hero, Facts, Overview, Location, Design, Residences, Amenities, Gallery, Provenance, OtherLaunches, Conversion, });