/* HLiD — DSGVO cookie / tracking banner. Design principle: site ships with ZERO third-party cookies or trackers by default. The only "cookies" are first-party localStorage entries (locale, banner dismissal). If Umami is enabled (HLID_UMAMI_SRC), it runs cookieless with data-do-not-track='true'. This banner exists for DSGVO transparency and to gate any future optional analytics. */ const BANNER_COPY = { EN: { title: 'We respect your privacy', body: 'This site uses only essential first-party storage (your language preference). We don\'t set third-party cookies, track you across sites, or share data. Analytics, if enabled, run cookieless and anonymized.', accept: 'Got it', more: 'Privacy policy', }, DE: { title: 'Wir achten Ihre Privatsphäre', body: 'Diese Seite verwendet ausschließlich notwendige First-Party-Speicherung (Ihre Spracheinstellung). Wir setzen keine Drittanbieter-Cookies, verfolgen Sie nicht seitenübergreifend und geben keine Daten weiter. Eine etwaige Statistik läuft cookiefrei und anonymisiert.', accept: 'Verstanden', more: 'Datenschutz', }, }; function CookieBanner() { const { locale } = useT(); const [visible, setVisible] = React.useState(false); React.useEffect(() => { try { const ack = localStorage.getItem('hlid.privacy.ack'); if (ack !== '1') setVisible(true); } catch { setVisible(true); } }, []); const accept = () => { try { localStorage.setItem('hlid.privacy.ack', '1'); } catch {} setVisible(false); }; if (!visible) return null; const c = BANNER_COPY[locale] || BANNER_COPY.EN; return (
); } Object.assign(window, { CookieBanner });