/* global React, useApp, useReveal */ const { useState, useEffect, useRef } = React; /* SECTION: Waterproof — dry/wet toggle with underwater product shot */ function WaterproofSection() { const { t } = useApp(); const copy = t.waterproof; const [wet, setWet] = useState(true); const ref = useReveal(); return (
{copy.eyebrow}

{copy.title}

{copy.subtitle}

{[ {v:false, t:copy.toggleDry}, {v:true, t:copy.toggleWet}, ].map(({v,t:lbl}) => ( ))}
{copy.spec}
{wet && [...Array(14)].map((_, i) => (
))}
); } /* SECTION: Certs / Science */ function CertsSection() { const { t } = useApp(); const copy = t.certs; const ref = useReveal(); return (
{copy.eyebrow}

{copy.title}

{copy.subtitle}

{copy.items.map((c, i) => (
{c.k}
{c.v}
))}
{copy.nasaNote}
); } /* SECTION: Compare table */ function CompareSection() { const { t } = useApp(); const copy = t.compare; const ref = useReveal(); const [highlight, setHighlight] = useState(2); // body-pro-kit default return (
{copy.eyebrow}

{copy.title}

{copy.subtitle}

{copy.headers.map((h, i) => ( ))}
{copy.rows.map((r, ri) => (
{r.l}
{r.v.map((v, vi) => (
{v}
))}
))}
); } /* SECTION: FAQ accordion */ function FaqSection() { const { t } = useApp(); const copy = t.faq; const ref = useReveal(); const [open, setOpen] = useState(0); return (
{copy.eyebrow}

{copy.title}

{copy.items.map((it, i) => (

{it.a}

))}
); } /* Footer */ function Footer() { const { t, locale } = useApp(); const c = t.footer; const privacyHref = locale === "de" ? "datenschutz.html" : "datenschutz.html"; const impressumHref = "impressum.html"; return ( ); } Object.assign(window, { WaterproofSection, CertsSection, CompareSection, FaqSection, Footer });