// devonNEXT — Cookie Consent Banner
// Minimal banner: technical-only storage. Shows once, persists choice in localStorage.

window.DevonCookieBanner = function CookieBanner(){
  const {useState,useEffect} = React;
  const KEY = 'dn_consent_v1';
  const [show,setShow] = useState(false);
  const [details,setDetails] = useState(false);

  useEffect(()=>{
    try {
      const v = localStorage.getItem(KEY);
      if(!v) setShow(true);
    } catch(e){ setShow(true); }
  },[]);

  const close = (choice)=>{
    try { localStorage.setItem(KEY, JSON.stringify({choice, ts:Date.now()})); } catch(e){}
    setShow(false);
  };

  if(!show) return null;
  return (
    <div className="cc-banner" role="dialog" aria-label="Cookie-Hinweis">
      <div className="cc-inner">
        <div className="cc-text">
          <div className="cc-title"><span className="cc-slash">//</span> Wir respektieren deine Daten.</div>
          <p>Diese Website nutzt <strong>nur technisch notwendige Speicherung</strong> (z.B. um diese Auswahl zu sichern). Kein Tracking, kein Pixel, keine Drittanbieter-Cookies. Schriftarten hosten wir lokal.{' '}
            <button className="cc-link" onClick={()=>setDetails(d=>!d)}>{details?'Weniger':'Details'}</button>
          </p>
          {details && (
            <div className="cc-details">
              <div><strong>LocalStorage:</strong> Speichert deine Cookie-Auswahl, Quiz-Ergebnis, Konfigurator-Stand. Verbleibt nur in deinem Browser.</div>
              <div><strong>Formulare &amp; Terminbuchung:</strong> Wenn du ein Formular absendest oder einen Termin buchst, werden deine Angaben zur Bearbeitung übermittelt (Formular-Dienst bzw. Microsoft&nbsp;Bookings). Details in der <a href="datenschutz.html">Datenschutzerklärung</a>.</div>
            </div>
          )}
        </div>
        <div className="cc-actions">
          <a href="datenschutz.html" className="cc-secondary">Datenschutz</a>
          <button className="cc-primary" onClick={()=>close('ok')}>Verstanden</button>
        </div>
      </div>
    </div>
  );
};
