/* ------------------------------------------------------------------ * * Story page (i18n) * ------------------------------------------------------------------ */ function PageStory({ navigate, anchor }) { const { t } = useLang(); const values = [0,1,2,3,4,5].map(i => ({ title: t(`values.${i}.title`), desc: t(`values.${i}.desc`) })); const steps = [0,1,2,3,4].map(i => ({ name: t(`steps.${i}.name`), desc: t(`steps.${i}.desc`) })); const materials = [0,1,2,3,4,5,6,7].map(i => ({ title: t(`mat.${i}.title`), desc: t(`mat.${i}.desc`) })); React.useEffect(() => { if (!anchor) { window.scrollTo({ top: 0 }); return; } let raf = 0, tries = 0; const go = () => { const el = document.getElementById(anchor); if (el) { window.scrollTo({ top: el.getBoundingClientRect().top + window.scrollY - 88, behavior: "smooth" }); } else if (tries++ < 30) { raf = requestAnimationFrame(go); } }; raf = requestAnimationFrame(go); return () => cancelAnimationFrame(raf); }, [anchor]); return (
{t("story.eyebrow")}

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

{t("story.lead")}

{t("story.body1")}

{t("story.body2")}

{t("story.values.title.a")}{t("story.values.title.em")}} count={t("story.values.count")} /> {values.map((v, i) => (
0{i+1}

{v.title}

{v.desc}

))}
{t("story.process.title.a")}
{t("story.process.title.em")}} count={t("story.process.count")} /> {steps.map((s, i) => (
0{i+1}

{s.name}

{s.desc}

))}
{t("story.mat.eyebrow")}

{t("story.mat.title.a")}{t("story.mat.title.em")}

{[ { src: "assets/photos/tray-aerial-sun.jpg", label: "WEAVE · 01", note: "HDPE poly rattan · sun-cured" }, { src: "assets/photos/box-towel-woman.jpg", label: "FRAME · 02", note: "Marine aluminium core" }, { src: "assets/photos/bar-archway.jpg", label: "FIELD · 03", note: "Stone, salt and shade" }, ].map((m, i) => (
{m.note}
{m.label} {m.note}
))}
{materials.map((m, i) => (
0{i+1}

{m.title}

{m.desc}

))}
{t("story.cta.eyebrow")}

{t("story.cta.title.a")}{t("story.cta.title.em1")}
{t("story.cta.title.b")}{t("story.cta.title.em2")}

{t("story.cta.body")}

); } Object.assign(window, { PageStory });