/* 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}) => ( setWet(v)} style={{ padding:"10px 22px", borderRadius:10, border:0, background: wet === v ? "rgba(var(--lx-red-glow),0.2)" : "transparent", color: wet === v ? "#fff" : "rgba(255,255,255,0.55)", fontFamily:"inherit", fontSize:14, fontWeight:500, cursor:"pointer", transition:"all 200ms", }}>{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) => ( i>0 && setHighlight(i-1)} style={{ padding:"20px 16px", textAlign: i===0 ? "left" : "center", fontSize: i===0 ? 13 : 15, fontWeight:600, letterSpacing:"-0.01em", background: i>0 && highlight === i-1 ? "rgba(var(--lx-red-glow),0.06)" : "transparent", color: i>0 && highlight === i-1 ? "#e50914" : "inherit", border:0, cursor: i>0 ? "pointer" : "default", transition:"all 200ms", }}>{h} ))} {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) => ( setOpen(open === i ? -1 : i)} style={{ width:"100%", padding:"24px 0", background:"transparent", border:0, cursor:"pointer", display:"flex", justifyContent:"space-between", alignItems:"center", gap:20, textAlign:"left", fontFamily:"inherit", fontSize:18, fontWeight:500, letterSpacing:"-0.015em", color:"inherit", }}> {it.q} + {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 });
{copy.subtitle}
{it.a}