/* Alpago — page screens */ const { useState: useStateS, useEffect: useEffectS, useRef: useRefS, useMemo: useMemoS } = React; // ---- Home ---- function HomeScreen({ lang, setRoute, onCta, openProject }) { const t = useT(lang); const [heroIdx, setHeroIdx] = useStateS(0); const heroes = [ { img: "media/asset-29.webp", project: "Palm Flower" }, { img: "media/asset-10.webp", project: "Casa Del Sole" }, { img: "media/asset-06.webp", project: "Kural Vista" } ]; useEffectS(() => { const id = setInterval(() => setHeroIdx(i => (i + 1) % heroes.length), 7000); return () => clearInterval(id); }, []); const current = heroes[heroIdx]; const ticker = t.hero.ticker; return (
{/* HERO */}
{heroes.map((h, i) => ( ))}
{t.hero.eyebrow}

{t.hero.title_a}
{t.hero.title_b}
{t.hero.title_c}

{t.hero.meta.map(([k, v]) => (
{k}
{v}
))}
{lang === "ar" ? "العرض الحالي" : "Now showing"}
{current.project}
{lang === "ar" ? "اسحب" : "Scroll"}
{[...ticker, ...ticker].map((t, i) => ( {t}  ◆   ))}
{/* PROPOSITION */}
{t.prop.eyebrow}

{t.prop.title_a} {t.prop.title_em}{t.prop.title_b}

{t.prop.body_p1}

{t.prop.body_p2}

{t.pillars.map(([n, h, p]) => (
{n}

{h}

{p}

))}
{/* PROJECTS */}
{t.projects.eyebrow}

{t.projects.title}

{t.projects.lead}

{/* Palm Flower — wide */}
{/* PEDIGREE */}
{lang === "ar" ? "شركاء التصميم" : "Design partners"}

{lang === "ar" ? "نختار شركاء لكل عنوان." : "We choose partners one address at a time."}

{lang === "ar" ? "العمارة والداخلية لكل مشروع، صُنعت مع شركات لا تكرر نفسها. حقوق الشعارات مؤكدة لكل مشروع قبل النشر." : "Per-project architecture and interior with houses that do not repeat themselves. Logo rights cleared per development before publishing."}

{PARTNERS.map(p => (
{p.role.split("—")[0].trim()}
{p.name}
{p.role.includes("—") ? p.role.split("—")[1].trim() : ""}
))}
{/* RECORD BLOCK */}
{lang === "ar" ? "رقم قياسي" : "On record"}

AED 302.5M

{lang === "ar" ? "كاسا ديل سولي، 2022." : "Casa Del Sole, 2022."}{" "} {lang === "ar" ? "حصة فاخرة مزدوجة في سعفة G — مدرجة كأعلى صفقة سكنية في دبي وقت بيعها." : "A double signature villa on Frond G — attributed at the time of sale as the highest residential transaction recorded in Dubai."}
Attributed press record · 2022 · not a current price

Casa Del Sole — attributed render
{lang === "ar" ? "اعتراف" : "Recognition"}
Luxury Lifestyle Awards {lang === "ar" ? "2024 · موثقة" : "2024 · attributed"}
Dubai Residential Record {lang === "ar" ? "2022" : "2022 — AED 302.5M"}
WiredScore — Palm Flower {lang === "ar" ? "موثقة" : "Smart-home certification"}
{/* CTA band */}
{t.cta.eyebrow}

{t.cta.title}

); } function ProjectCardHero({ p, wide, tall, onOpen, num }) { return (
onOpen(p.slug)}> {p.name} {p.status} {num}

{p.name}

{p.location} · {p.typology}
); } // ---- Projects index ---- function ProjectsScreen({ lang, openProject }) { const t = useT(lang); return (
{t.projects.eyebrow}

{t.projects.title}

{t.projects.lead}

{PROJECTS.map((p, i) => (
openProject(p.slug)}>
{String(i + 1).padStart(2, "0")}
{p.name}

{p.name}

{p.location} · {p.typology} {p.partners.length > 0 && (<>·{p.partners.slice(0, 2).join(" + ")})}

{p.tagline}

{p.status}
))}
); } // ---- Project detail ---- function ProjectDetail({ slug, lang, openProject, onCta, setRoute }) { const p = PROJECTS.find(x => x.slug === slug) || PROJECTS[0]; const t = useT(lang); const [section, setSection] = useStateS("overview"); const [lbOpen, setLbOpen] = useStateS(false); const [lbIdx, setLbIdx] = useStateS(0); const sections = [ { id: "overview", label: lang === "ar" ? "نظرة عامة" : "Overview" }, { id: "location", label: lang === "ar" ? "الموقع" : "Location" }, { id: "partners", label: lang === "ar" ? "شركاء التصميم" : "Design & partners" }, { id: "residences", label: lang === "ar" ? "الإقامات" : "Residences" }, { id: "amenities", label: lang === "ar" ? "وسائل الراحة" : "Amenities" }, { id: "gallery", label: lang === "ar" ? "المعرض" : "Gallery" } ]; useEffectS(() => { const onScroll = () => { let best = "overview"; for (const s of sections) { const el = document.getElementById("sec-" + s.id); if (el && el.getBoundingClientRect().top < 220) best = s.id; } setSection(best); }; window.addEventListener("scroll", onScroll, { passive: true }); onScroll(); return () => window.removeEventListener("scroll", onScroll); }, [slug]); useEffectS(() => { window.scrollTo({ top: 0 }); }, [slug]); const scrollTo = (id) => { const el = document.getElementById("sec-" + id); if (el) { const y = el.getBoundingClientRect().top + window.scrollY - 130; window.scrollTo({ top: y, behavior: "smooth" }); } }; // Sibling projects const idx = PROJECTS.findIndex(x => x.slug === p.slug); const next = PROJECTS[(idx + 1) % PROJECTS.length]; return (
{p.name}
/ {p.status} / {p.location}
{p.typology}

{p.name.split(" ").map((w, i, arr) => i === arr.length - 1 ? {w} : {w} )}

{p.tagline}

{p.specs.map(([k, v]) => (
{k}
{v}
))}
{/* Anchor nav */}
{sections.map(s => ( ))}
{/* Overview */}
{lang === "ar" ? "نظرة عامة" : "Overview"}

{lang === "ar" ? "الفكرة" : "The proposition"}

{p.summary}

{p.attribution && (

{p.attribution}

)}
{/* Location */}
{lang === "ar" ? "الموقع" : "Location"}

{p.location}.

{lang === "ar" ? "نخلة جميرا، الجزيرة الاصطناعية الرمز في دبي. " : "Palm Jumeirah — Dubai's iconic man-made island. "} {p.location.includes("Frond G") ? (lang === "ar" ? "سعفة G هي ما يُعرف بـ«شارع المليارديرات» — أكثر فروع النخلة هدوءاً وعزلة، مع واجهات مائية خاصة." : "Frond G is known as Billionaires' Row — the most quietly guarded address on the Palm, with private beach frontage and the deepest plots.") : (lang === "ar" ? "نخلة ويست بيتش، الواجهة البحرية المتقدمة على النخلة، حيث المطاعم والمنتجعات والحياة المدنية." : "Palm West Beach — the Palm's mature waterfront promenade, lined with restaurants, resorts and a dense, walkable civic edge.")}

Palm Jumeirah location
{p.location}
{/* Partners */}
{lang === "ar" ? "التصميم" : "Design & partners"}

{lang === "ar" ? "شركاء بحسب العنوان." : "Partners chosen one address at a time."}

{lang === "ar" ? "نختار شركاء التصميم لكل عنوان على حدة، لا كقالب يتكرر. حقوق الشعارات الواردة هنا تخضع للتأكيد قبل أي نشر." : "For each address, we appoint architecture and interior partners one project at a time — not a recurring stable. Logo rights for the names below are cleared per development before any public use."}

{p.partners.length > 0 ? (
{p.partners.map((name, i) => (
{["Architecture", "Interior", "Certification"][i] || "Partner"}
{name}
{lang === "ar" ? "متعاقَد عليه لهذا المشروع" : "Engaged for this development"}
))}
) : (
{lang === "ar" ? "خاص" : "Private"}
By appointment
{lang === "ar" ? "تُكشف الفرق عند الحجز" : "Design team disclosed at reservation"}
)}
{/* Residences */}
{lang === "ar" ? "الإقامات" : "Residences"}

{lang === "ar" ? "تشكيلة من المفاهيم." : "A small set of concepts."}

{lang === "ar" ? "تتراوح المساحات حسب الطابق والمفهوم. الأرقام النهائية موثقة لدى ريرا ودائرة الأراضي. المخططات تُتاح عند الطلب الموثق." : "Floor areas vary by level and concept. Final figures are RERA / DLD-verified. Floor plans are released to qualified enquiries under request."}

{p.concepts.length > 0 ? (
{p.concepts.map(([n, name, desc]) => (
{n}
{name}
{desc}
{lang === "ar" ? "بالاستفسار" : "By enquiry"}
))}
) : (
{lang === "ar" ? "تفاصيل خاصة" : "Private specifications"}
{lang === "ar" ? "تُكشف تفاصيل هذه الإقامة للمستفسرين المؤهلين." : "Specifications for this address are released to qualified enquiries only."}
{lang === "ar" ? "بالاستفسار" : "By enquiry"}
)}
{/* Amenities */} {p.amenities.length > 0 && (
{lang === "ar" ? "وسائل الراحة" : "Amenities"}

{lang === "ar" ? "حياة يومية، مرتفعة بهدوء." : "A daily life, quietly elevated."}

{lang === "ar" ? "وسائل خاصة وبيوفيلية، مرتبطة بمساحات داخل وخارج." : "Private and biophilic — wellness, mobility and hospitality woven through the residence."}

{p.amenities.map(a => (
{a.title}
{a.label}

{a.title}

{a.note}

))}
)} {/* Gallery */} setLbOpen(false)} /> {/* Next project */}
{lang === "ar" ? "التالي" : "Next"}

{next.name}

openProject(next.slug)}> {next.name} {next.status}

{next.name}

{next.location}·{next.typology}
); } function DistanceRow({ label, v }) { return (
{label} {v}
); } // ---- About ---- function AboutScreen({ lang, setRoute, onCta }) { const t = useT(lang); return (
{lang === "ar" ? "عن الشركة" : "The practice"}

{lang === "ar" ? <>السعي وراء الكمال. : <>Pursuit of perfection.}

{lang === "ar" ? "ألباغو بروبرتيز هي ذراع مجموعة ألباغو في دبي — جذورها بين إسطنبول ولندن، تأسست في دبي في عام 2019 (تأكيد). تعمل من مكتب 2603 في بوليفارد بلازا برج 1 وسط مدينة دبي." : "Alpago Properties is the Dubai practice of the Alpago Group — Istanbul and London roots, Dubai-founded 2019 (confirm). The private office is at Office 2603, Boulevard Plaza Tower 1, Downtown Dubai."}

{VALUES_DATA.map(([n, name, desc]) => (
{n}

{name}

{desc}

))}
{lang === "ar" ? "القيادة" : "Leadership"}

{lang === "ar" ? "ثلاثة على رأس ألباغو." : "Three at the head of Alpago."}

{lang === "ar" ? "أسماء ومناصب فقط — السير الذاتية تُتاح عند الاستفسار." : "Names and titles only. Full bios available on request."}

{LEADERS.map(l => (
{l.name}
{l.label}

{l.name}

{l.title}
))}
Portrait subjects unverified — confirm before publishing.
{lang === "ar" ? "الشركاء" : "Partners"}

{lang === "ar" ? "بيوت تصميم نختارها لكل عنوان." : "Design houses we appoint, one address at a time."}

{PARTNERS.map(p => (
{p.role.split("—")[0].trim()}
{p.name}
{p.role.includes("—") ? p.role.split("—")[1].trim() : ""}
))}

{lang === "ar" ? "لنبدأ حواراً." : "Begin a conversation."}

); } // ---- Contact ---- function ContactScreen({ lang, onCta }) { const t = useT(lang); return (
{lang === "ar" ? "تواصل" : "Contact"}

{lang === "ar" ? <>المكتب الخاص. : <>The private office.}

{lang === "ar" ? "نرد على الاستفسارات خلال يوم عمل واحد. للنقاشات الموثقة، يفضّل الكتيب الخاص بالموعد، أو الواتساب للتواصل السريع." : "We respond to enquiries within one business day. For confidential conversations, we recommend a private viewing by appointment — or WhatsApp for fast contact."}

{lang === "ar" ? "الهاتف" : "Phone"}
+971 4 263 0022{lang === "ar" ? "9 صباحاً – 6 مساءً، الإثنين–الجمعة (تأكيد)" : "9am – 6pm, Mon–Fri (confirm hours)"}
{lang === "ar" ? "البريد" : "Email"}
{lang === "ar" ? "واتساب" : "WhatsApp"}
+971 4 263 0022{lang === "ar" ? "للتواصل السريع. الرقم نفسه (تأكيد)." : "Same number — confirm dedicated WhatsApp line before publishing."}
{lang === "ar" ? "العنوان" : "Office"}
Office 2603, Level 26Boulevard Plaza Tower 1, Downtown Dubai, U.A.E.
{lang === "ar" ? "التواصل" : "Social"}
Instagram · LinkedIn · Facebook{lang === "ar" ? "حسابات موثقة فقط. لا أرقام متابعين قبل التأكيد." : "Confirmed-owned only. No follower counts shown pre-verification."}
Boulevard Plaza Tower 1 vicinity — placeholder
Boulevard Plaza Tower 1, Downtown Dubai · {lang === "ar" ? "خريطة تفاعلية مع الإحداثيات المؤكدة" : "Lazy-loaded interactive map (Google embed) with confirmed coords"}
); } Object.assign(window, { HomeScreen, ProjectsScreen, ProjectDetail, AboutScreen, ContactScreen });