// legal.jsx — Impressum, Datenschutz, Cookie-Banner

function CookieBanner({ accent }) {
  const [visible, setVisible] = React.useState(false);

  React.useEffect(() => {
    try {
      if (!localStorage.getItem('senso-cookie-consent')) {
        const t = setTimeout(() => setVisible(true), 1200);
        return () => clearTimeout(t);
      }
    } catch (e) { setVisible(true); }
  }, []);

  const accept = () => {
    try { localStorage.setItem('senso-cookie-consent', 'accepted-' + Date.now()); } catch (e) {}
    setVisible(false);
  };
  const decline = () => {
    try { localStorage.setItem('senso-cookie-consent', 'declined-' + Date.now()); } catch (e) {}
    setVisible(false);
  };

  if (!visible) return null;
  return (
    <div className="cookie-banner" role="dialog" aria-live="polite" aria-label="Cookie-Hinweis">
      <div className="cookie-banner-inner">
        <div className="cookie-banner-text">
          <strong>Cookies & Datenschutz</strong>
          <p>
            Diese Website nutzt nur technisch notwendige Speicher (z.B. zur Speicherung
            deiner Cookie-Auswahl). Es findet keine Analyse, kein Tracking und keine
            Weitergabe an Dritte statt. Mit „Akzeptieren" bestätigst du den Hinweis.
            Mehr in der <a href="#datenschutz">Datenschutzerklärung</a>.
          </p>
        </div>
        <div className="cookie-banner-actions">
          <button className="cookie-btn cookie-btn-ghost" onClick={decline}>Ablehnen</button>
          <button className="cookie-btn cookie-btn-primary"
                  style={{ background: accent }} onClick={accept}>
            Akzeptieren
          </button>
        </div>
      </div>
    </div>
  );
}

function LegalSection() {
  const [open, setOpen] = React.useState(null); // 'impressum' | 'datenschutz' | null

  React.useEffect(() => {
    const onHash = () => {
      const h = window.location.hash.replace('#', '');
      if (h === 'impressum' || h === 'datenschutz') setOpen(h);
    };
    onHash();
    window.addEventListener('hashchange', onHash);
    return () => window.removeEventListener('hashchange', onHash);
  }, []);

  React.useEffect(() => {
    document.body.style.overflow = open ? 'hidden' : '';
  }, [open]);

  const close = () => {
    setOpen(null);
    history.replaceState(null, '', window.location.pathname);
  };

  return (
    <>
      <section className="legal-foot" id="legal">
        <div className="legal-foot-grid">
          <div className="legal-foot-brand">
            <span className="legal-foot-mark">⌬</span>
            <span>Senso Digital</span>
          </div>
          <nav className="legal-foot-nav">
            <a href="#impressum" onClick={(e) => { e.preventDefault(); window.location.hash = 'impressum'; }}>Impressum</a>
            <a href="#datenschutz" onClick={(e) => { e.preventDefault(); window.location.hash = 'datenschutz'; }}>Datenschutz</a>
            <a href="mailto:kontakt@senso-digital.de">Kontakt</a>
          </nav>
          <div className="legal-foot-meta">
            © 2026 Senso Digital · Jena
          </div>
        </div>
      </section>

      {open && (
        <div className="legal-overlay" onClick={close}>
          <article className="legal-sheet" onClick={(e) => e.stopPropagation()}>
            <header className="legal-sheet-head">
              <span className="legal-sheet-eyebrow">
                {open === 'impressum' ? '/ rechtliches' : '/ datenschutz'}
              </span>
              <button className="legal-close" onClick={close} aria-label="Schließen">✕</button>
            </header>
            <div className="legal-sheet-body">
              {open === 'impressum' ? <Impressum /> : <Datenschutz />}
            </div>
          </article>
        </div>
      )}
    </>
  );
}

function Impressum() {
  return (
    <>
      <h1>Impressum</h1>
      <p className="legal-lede">Angaben gemäß § 5 TMG</p>

      <h2>Anbieter</h2>
      <p>
        <strong>[Vor- und Nachname]</strong><br />
        Senso Digital<br />
        [Straße und Hausnummer]<br />
        [PLZ] Jena<br />
        Deutschland
      </p>

      <h2>Kontakt</h2>
      <p>
        Telefon: [+49 …]<br />
        E-Mail: <a href="mailto:kontakt@senso-digital.de">kontakt@senso-digital.de</a>
      </p>

      <h2>Umsatzsteuer-ID</h2>
      <p>
        Umsatzsteuer-Identifikationsnummer gemäß § 27 a Umsatzsteuergesetz:<br />
        [DE … ]
      </p>
      <p className="legal-note">
        Hinweis: Falls die Kleinunternehmerregelung nach § 19 UStG gilt, kann
        statt der USt-IdNr. der Hinweis „Gemäß § 19 UStG wird keine
        Umsatzsteuer erhoben" stehen.
      </p>

      <h2>Berufsbezeichnung</h2>
      <p>Webdesigner &amp; Entwickler (Deutschland)</p>

      <h2>Redaktionell verantwortlich</h2>
      <p>
        [Vor- und Nachname]<br />
        Anschrift wie oben
      </p>

      <h2>EU-Streitschlichtung</h2>
      <p>
        Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit:&nbsp;
        <a href="https://ec.europa.eu/consumers/odr/" target="_blank" rel="noopener noreferrer">
          https://ec.europa.eu/consumers/odr/
        </a>.
        <br />Meine E-Mail-Adresse findest du oben im Impressum.
      </p>

      <h2>Verbraucherstreitbeilegung / Universalschlichtungsstelle</h2>
      <p>
        Ich bin nicht bereit oder verpflichtet, an Streitbeilegungsverfahren vor einer
        Verbraucherschlichtungsstelle teilzunehmen.
      </p>

      <h2>Haftung für Inhalte</h2>
      <p>
        Als Diensteanbieter bin ich gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten
        nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG bin ich als
        Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde
        Informationen zu überwachen oder nach Umständen zu forschen, die auf eine
        rechtswidrige Tätigkeit hinweisen.
      </p>
      <p>
        Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach
        den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung
        ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung
        möglich. Bei Bekanntwerden entsprechender Rechtsverletzungen werde ich diese
        Inhalte umgehend entfernen.
      </p>

      <h2>Haftung für Links</h2>
      <p>
        Mein Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte ich
        keinen Einfluss habe. Deshalb kann ich für diese fremden Inhalte auch keine Gewähr
        übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter
        oder Betreiber der Seiten verantwortlich.
      </p>

      <h2>Urheberrecht</h2>
      <p>
        Die durch mich erstellten Inhalte und Werke auf diesen Seiten unterliegen dem
        deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede
        Art der Verwertung außerhalb der Grenzen des Urheberrechts bedürfen der
        schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers.
      </p>

      <p className="legal-foot-note">
        Stand: April 2026 · Platzhalter sind in <code>[eckigen Klammern]</code> markiert
        und müssen vor Veröffentlichung ersetzt werden.
      </p>
    </>
  );
}

function Datenschutz() {
  return (
    <>
      <h1>Datenschutzerklärung</h1>
      <p className="legal-lede">
        Verantwortlich im Sinne der DSGVO ist die im Impressum genannte Person.
      </p>

      <h2>1. Allgemeines</h2>
      <p>
        Der Schutz deiner persönlichen Daten ist mir wichtig. Ich behandle deine
        personenbezogenen Daten vertraulich und entsprechend der gesetzlichen
        Datenschutzvorschriften (DSGVO, BDSG, TTDSG) sowie dieser Erklärung.
      </p>

      <h2>2. Zugriffsdaten / Server-Logfiles</h2>
      <p>
        Beim Aufruf dieser Website werden durch den Hosting-Anbieter automatisch
        Informationen in sogenannten Server-Logfiles gespeichert, die dein Browser
        übermittelt:
      </p>
      <ul>
        <li>Browsertyp und -version</li>
        <li>verwendetes Betriebssystem</li>
        <li>Referrer-URL</li>
        <li>Hostname des zugreifenden Rechners (anonymisierte IP)</li>
        <li>Uhrzeit der Serveranfrage</li>
      </ul>
      <p>
        Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse am
        sicheren und stabilen Betrieb der Seite). Eine Zusammenführung mit anderen
        Datenquellen findet nicht statt. Logfiles werden nach 14 Tagen gelöscht.
      </p>

      <h2>3. Cookies &amp; lokaler Speicher</h2>
      <p>
        Diese Website setzt <strong>keine Tracking-Cookies</strong>. Es wird lediglich ein
        technisch notwendiger Eintrag im Local Storage deines Browsers angelegt, wenn du
        den Cookie-Hinweis bestätigst, damit der Hinweis nicht erneut angezeigt wird.
        Rechtsgrundlage: § 25 Abs. 2 Nr. 2 TTDSG (technisch notwendig).
      </p>

      <h2>4. Kontaktaufnahme per E-Mail</h2>
      <p>
        Wenn du mir per E-Mail (<a href="mailto:kontakt@senso-digital.de">kontakt@senso-digital.de</a>)
        Anfragen zukommen lässt, werden deine Angaben zur Bearbeitung der Anfrage und für
        den Fall von Anschlussfragen gespeichert. Rechtsgrundlage: Art. 6 Abs. 1 lit. b
        DSGVO (Vertragsanbahnung) bzw. lit. f (berechtigtes Interesse). Diese Daten gebe
        ich nicht ohne deine Einwilligung weiter und lösche sie, sobald sie für den Zweck
        der Verarbeitung nicht mehr erforderlich sind.
      </p>

      <h2>5. Schriftarten</h2>
      <p>
        Auf dieser Website werden Web-Schriftarten („Google Fonts") über einen externen
        Server (Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Irland)
        eingebunden, um eine konsistente Darstellung zu gewährleisten. Beim Aufruf der
        Seite wird eine Verbindung zu Google-Servern aufgebaut, dabei wird deine
        IP-Adresse übermittelt. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO. Weitere
        Informationen findest du in der Datenschutzerklärung von Google:&nbsp;
        <a href="https://policies.google.com/privacy" target="_blank" rel="noopener noreferrer">
          policies.google.com/privacy
        </a>.
      </p>
      <p className="legal-note">
        Hinweis: Falls die Schriften später lokal vom eigenen Server geladen werden,
        entfällt diese Datenübertragung an Google.
      </p>

      <h2>6. Hosting</h2>
      <p>
        Diese Seite wird bei einem Anbieter mit Sitz in der EU gehostet (Auftragsverarbeitung
        nach Art. 28 DSGVO). Hosting-Anbieter: <strong>[Hoster eintragen, z.B.
        Hetzner Online GmbH, Industriestr. 25, 91710 Gunzenhausen]</strong>.
      </p>

      <h2>7. Deine Rechte</h2>
      <p>Du hast jederzeit das Recht auf:</p>
      <ul>
        <li>Auskunft über die zu deiner Person gespeicherten Daten (Art. 15 DSGVO)</li>
        <li>Berichtigung unrichtiger Daten (Art. 16 DSGVO)</li>
        <li>Löschung („Recht auf Vergessenwerden", Art. 17 DSGVO)</li>
        <li>Einschränkung der Verarbeitung (Art. 18 DSGVO)</li>
        <li>Datenübertragbarkeit (Art. 20 DSGVO)</li>
        <li>Widerspruch gegen die Verarbeitung (Art. 21 DSGVO)</li>
        <li>Widerruf erteilter Einwilligungen (Art. 7 Abs. 3 DSGVO)</li>
      </ul>
      <p>
        Wende dich dazu formlos an <a href="mailto:kontakt@senso-digital.de">kontakt@senso-digital.de</a>.
        Außerdem hast du das Recht auf Beschwerde bei der zuständigen Aufsichtsbehörde
        (Thüringer Landesbeauftragter für den Datenschutz und die Informationsfreiheit).
      </p>

      <h2>8. SSL-Verschlüsselung</h2>
      <p>
        Diese Seite nutzt aus Sicherheitsgründen eine SSL/TLS-Verschlüsselung. Du erkennst
        eine verschlüsselte Verbindung am Schlosssymbol in deiner Browserzeile.
      </p>

      <p className="legal-foot-note">
        Stand: April 2026 · Diese Datenschutzerklärung ist ein Muster und sollte vor
        Veröffentlichung an die tatsächlichen Verhältnisse angepasst werden.
      </p>
    </>
  );
}

Object.assign(window, { CookieBanner, LegalSection });
