/* ------------------------------------------------------------------ * * Collection page — gallery + mosaic (i18n) * ------------------------------------------------------------------ */ function PageCollection({ navigate }) { const { t } = useLang(); const products = getProducts(t); return (
{t("col.eyebrow")}

{t("col.title.a")}
{t("col.title.em")}{t("col.title.b")}

{t("col.body")}

{products.map((p, i) => ( ))}
{t("col.editorial.title.a")}
{t("col.editorial.title.em")}} count={t("col.editorial.count")} />
{[ { num: "01", name: t("p.tray.name"), tagline: t("p.tray.tagline"), photos: [ { src: "assets/photos/tray-hero-woman.jpg", label: "POOLSIDE · 01", note: "Aqua Tray · Casa de Campo" }, { src: "assets/photos/tray-charcuterie.jpg", label: "FLOATING · 02", note: "Charcuterie at golden hour" }, { src: "assets/photos/tray-turquoise-breakfast.jpg",label: "TURQUOISE · 03",note: "Morning ritual · Cap Cana" }, ], }, { num: "02", name: t("p.box.name"), tagline: t("p.box.tagline"), photos: [ { src: "assets/photos/box-towel-woman.jpg", label: "RITUAL · 01", note: "Aqua Box · the morning swim" }, { src: "assets/photos/box-poolside.jpg", label: "TERRACE · 02", note: "Pool deck · stripe towel" }, { src: "assets/photos/box-woman-open.jpg", label: "OPEN · 03", note: "Loading folded linens" }, ], }, { num: "03", name: t("p.bar.name"), tagline: t("p.bar.tagline"), photos: [ { src: "assets/photos/bar-poolside-woman.jpg", label: "SUNSET · 01", note: "Aqua Bar · Punta Cana" }, { src: "assets/photos/bar-archway.jpg", label: "ARCHWAY · 02", note: "Stone vestibule" }, { src: "assets/photos/bar-detail.jpg", label: "DRINKS · 03", note: "Service detail" }, ], }, ].map((g) => (
{g.num}

{g.name}

{g.tagline}
{g.photos.map((p, i) => (
))}
))}
); } // Distinct hero photos for each product row — different from the collage // at the top and the editorial groups at the bottom of this page. const ROW_PHOTOS = { "aqua-tray": { src: "assets/photos/tray-row-fruits-wine.jpg", label: "STILL LIFE · TRAY", note: "Wine & tropical fruit · overhead", }, "aqua-box": { src: "assets/photos/box-row-towel-open.jpg", label: "POOLSIDE · BOX", note: "Towels loaded · golden hour", }, "aqua-bar": { src: "assets/photos/bar-row-poolside.jpg", label: "SERVICE · BAR", note: "Bar cart · pool deck", }, }; function CollectionCollage() { const tiles = [ { c: "1", src: "assets/photos/tray-aerial-water.jpg", num: "i", cap: "Aqua Tray · still water" }, { c: "2", src: "assets/photos/box-towel-drape.jpg", num: "ii", cap: "Aqua Box · linen drape" }, { c: "3", src: "assets/photos/bar-full-trays.jpg", num: "iii", cap: "Aqua Bar · full set" }, { c: "4", src: "assets/photos/tray-float-leaves.jpg", num: "iv", cap: "Tray · floating leaves" }, ]; return (
{tiles.map((t) => ( {t.cap} {t.num} {t.cap} ))}
— Collection 2026 · 04 frames Dominican Republic
); } function CollectionRow({ product, num, reverse, navigate, t, photoOverride }) { const { format } = useCurrency(); const photo = photoOverride || { src: product.photo, label: `PRODUCT · ${num}`, note: product.id }; return (
{num} — {product.tagline}

{product.name}

{product.desc}

    {product.features.map((f) => (
  • {f}
  • ))}
{format(product.basePrice)}
); } Object.assign(window, { PageCollection });