/* ════════════════════════════════════════════════════════════════
   legal.jsx — German legal/compliance pages for ZILENT SOFTWARE
   German is the legally authoritative version. When another language
   is active, a translated notice is shown above the German text.
   Placeholders the owner must fill are marked with <Ph>.
   Exposes window.LegalView and window.LEGAL_PAGES.
   ════════════════════════════════════════════════════════════════ */

const STAND = 'Juni 2026';

function Ph({ children }) {
  return <span className="legal__ph">{children}</span>;
}

const COMPANY = {
  name: 'Zilent Software',
  owner: 'David Wittpenn',
  street: 'Hohe Straße 39',
  city: '04107 Leipzig',
  country: 'Deutschland',
  email: 'info@zilent.de',
  phone: '+49 1551 1209973',
  phoneHref: '+4915511209973',
};

/* ─── Impressum (§ 5 DDG) ─────────────────────────────────────── */
function Impressum() {
  return (
    <React.Fragment>
      <h2>Angaben gemäß § 5 DDG</h2>
      <p>
        <strong>{COMPANY.name}</strong><br />
        Einzelunternehmen<br />
        Inhaber: {COMPANY.owner}<br />
        {COMPANY.street}<br />
        {COMPANY.city}<br />
        {COMPANY.country}
      </p>

      <h2>Vertreten durch</h2>
      <p>{COMPANY.owner}</p>

      <h2>Kontakt</h2>
      <p>
        E-Mail: <a href={'mailto:' + COMPANY.email}>{COMPANY.email}</a><br />
        Telefon: <a href={'tel:' + COMPANY.phoneHref}>{COMPANY.phone}</a>
      </p>

      <h2>Umsatzsteuer</h2>
      <p>
        Als Kleinunternehmer im Sinne von § 19 UStG wird keine Umsatzsteuer ausgewiesen.
        Eine Umsatzsteuer-Identifikationsnummer gemäß § 27 a UStG ist nicht vorhanden.
      </p>

      <h2>Redaktionell verantwortlich</h2>
      <p>
        {COMPANY.owner}<br />
        {COMPANY.street}, {COMPANY.city}
      </p>

      <h2>Verbraucherstreitbeilegung / Universalschlichtungsstelle</h2>
      <p>
        Wir sind nicht bereit und nicht verpflichtet, an Streitbeilegungsverfahren vor einer
        Verbraucherschlichtungsstelle teilzunehmen.
      </p>

      <p className="muted">Stand: {STAND}</p>
    </React.Fragment>
  );
}

/* ─── Datenschutzerklärung (DSGVO) ────────────────────────────── */
function Datenschutz() {
  return (
    <React.Fragment>
      <h2>1. Verantwortlicher</h2>
      <p>
        Verantwortlich für die Datenverarbeitung auf dieser Website ist:<br />
        <strong>{COMPANY.name}</strong>, Inhaber {COMPANY.owner}<br />
        {COMPANY.street}, {COMPANY.city}, {COMPANY.country}<br />
        E-Mail: <a href={'mailto:' + COMPANY.email}>{COMPANY.email}</a>
      </p>

      <h2>2. Allgemeines zur Datenverarbeitung</h2>
      <p>
        Wir verarbeiten personenbezogene Daten nur, soweit dies zur Bereitstellung einer
        funktionsfähigen Website sowie unserer Inhalte und Leistungen erforderlich ist.
        Die Verarbeitung erfolgt auf Grundlage der Datenschutz-Grundverordnung (DSGVO) und des
        Bundesdatenschutzgesetzes (BDSG).
      </p>

      <h2>3. Hosting (Cloudflare Pages)</h2>
      <p>
        Diese Website wird über <strong>Cloudflare Pages</strong> bereitgestellt. Anbieter ist die
        Cloudflare, Inc., 101 Townsend Street, San Francisco, CA 94107, USA. Cloudflare stellt das
        Hosting sowie ein Content-Delivery-Network (CDN) und Sicherheitsfunktionen bereit; dabei
        werden technisch erforderliche Daten (insbesondere Ihre IP-Adresse) verarbeitet, um die
        Website ausliefern und vor Angriffen schützen zu können.
      </p>
      <p>
        Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einer sicheren,
        stabilen und performanten Bereitstellung der Website). Mit Cloudflare besteht ein Vertrag
        zur Auftragsverarbeitung gemäß Art. 28 DSGVO. Eine Übermittlung von Daten in die USA wird
        durch EU-Standardvertragsklauseln sowie die Zertifizierung von Cloudflare unter dem
        EU-US Data Privacy Framework abgesichert (Art. 44 ff. DSGVO).
      </p>

      <h2>4. Server-Logfiles</h2>
      <p>
        Der Hosting-Anbieter erhebt und speichert automatisch Informationen in sogenannten
        Server-Logfiles, die Ihr Browser automatisch übermittelt. Dies sind insbesondere:
      </p>
      <ul>
        <li>Browsertyp und Browserversion</li>
        <li>verwendetes Betriebssystem</li>
        <li>Referrer-URL</li>
        <li>Datum und Uhrzeit der Serveranfrage</li>
        <li>(gekürzte) IP-Adresse</li>
      </ul>
      <p>
        Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an einer
        sicheren und stabilen Bereitstellung der Website).
      </p>

      <h2>5. Cookies</h2>
      <p>
        Diese Website verwendet ausschließlich technisch notwendige Cookies bzw. lokale Speicher,
        die für den Betrieb der Seite erforderlich sind (z. B. zur Speicherung Ihrer Cookie- und
        Spracheinstellung). Darüber hinaus kann unser Hoster Cloudflare zur Absicherung der Website
        ein technisch notwendiges Sicherheits-Cookie setzen (z. B. <code>__cf_bm</code> zur
        Bot-Erkennung, Speicherdauer ca. 30 Minuten); dieses dient ausschließlich der Sicherheit und
        wird nicht zur Nachverfolgung oder Analyse einzelner Nutzer verwendet.
      </p>
      <p>
        Für technisch notwendige Cookies ist eine Einwilligung nicht erforderlich (§ 25 Abs. 2 TDDDG).
        Es findet <strong>kein Tracking und keine Analyse</strong> Ihres Verhaltens statt.
      </p>

      <h2>6. Kontaktaufnahme per E-Mail</h2>
      <p>
        Das Kontaktformular auf dieser Website speichert keine Daten auf unseren Servern. Beim
        Absenden öffnet sich Ihr eigenes E-Mail-Programm mit den von Ihnen eingegebenen Angaben
        (Name, E-Mail-Adresse, Betreff, Nachricht); die Nachricht wird erst an uns übermittelt,
        wenn Sie den Versand in Ihrem E-Mail-Programm bestätigen. Wenn Sie uns auf diesem Weg oder
        direkt per E-Mail kontaktieren, verarbeiten wir die übermittelten Angaben zur Bearbeitung
        Ihrer Anfrage. Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an
        der Beantwortung von Anfragen) bzw. Art. 6 Abs. 1 lit. b DSGVO, sofern Ihre Anfrage auf den
        Abschluss eines Vertrags gerichtet ist. Die Daten werden gelöscht, sobald sie nicht mehr
        erforderlich sind und keine gesetzlichen Aufbewahrungspflichten entgegenstehen.
      </p>

      <h2>7. Ihre Rechte</h2>
      <p>Ihnen stehen gegenüber uns folgende Rechte hinsichtlich Ihrer personenbezogenen Daten zu:</p>
      <ul>
        <li>Recht auf Auskunft (Art. 15 DSGVO)</li>
        <li>Recht auf Berichtigung (Art. 16 DSGVO)</li>
        <li>Recht auf Löschung (Art. 17 DSGVO)</li>
        <li>Recht auf Einschränkung der Verarbeitung (Art. 18 DSGVO)</li>
        <li>Recht auf Datenübertragbarkeit (Art. 20 DSGVO)</li>
        <li>Widerspruchsrecht (Art. 21 DSGVO)</li>
      </ul>

      <h2>8. Beschwerderecht bei der Aufsichtsbehörde</h2>
      <p>
        Sie haben das Recht, sich bei einer Datenschutz-Aufsichtsbehörde zu beschweren. Zuständig
        ist u. a. der Sächsische Datenschutzbeauftragte. Eine Liste der Aufsichtsbehörden finden
        Sie unter <a href="https://www.bfdi.bund.de" target="_blank" rel="noopener noreferrer">www.bfdi.bund.de</a>.
      </p>

      <h2>9. SSL-/TLS-Verschlüsselung</h2>
      <p>
        Diese Seite nutzt aus Sicherheitsgründen eine SSL- bzw. TLS-Verschlüsselung. Eine
        verschlüsselte Verbindung erkennen Sie an der Adresszeile des Browsers.
      </p>

      <p className="muted">Stand: {STAND}</p>
    </React.Fragment>
  );
}

/* ─── AGB ─────────────────────────────────────────────────────── */
function AGB() {
  return (
    <React.Fragment>
      <h2>§ 1 Geltungsbereich</h2>
      <p>
        Diese Allgemeinen Geschäftsbedingungen (AGB) gelten für die Nutzung der Website von
        {' '}{COMPANY.name} ({COMPANY.owner}) sowie für die von uns angebotene Lern-App „34A Training“
        (nachfolgend „App“). Abweichende Bedingungen des Nutzers werden nicht anerkannt, es sei denn,
        wir stimmen ihrer Geltung ausdrücklich schriftlich zu.
      </p>

      <h2>§ 2 Leistungen</h2>
      <p>
        Die App stellt Lerninhalte und Übungsfragen zur Vorbereitung auf die Sachkundeprüfung nach
        § 34a GewO bereit. Die Inhalte dienen ausschließlich der Lernunterstützung und stellen
        <strong> keine Rechtsberatung</strong> dar. Eine bestimmte Prüfungsleistung oder das Bestehen
        der amtlichen Prüfung wird nicht geschuldet und nicht garantiert.
      </p>

      <h2>§ 3 Verfügbarkeit</h2>
      <p>
        Die App befindet sich derzeit in Entwicklung. Angaben zu Funktionsumfang, Verfügbarkeit und
        Preisen sind unverbindlich, bis die App offiziell veröffentlicht wird. Wir bemühen uns um eine
        möglichst unterbrechungsfreie Verfügbarkeit, übernehmen hierfür jedoch keine Gewähr.
      </p>

      <h2>§ 4 Vertragsschluss</h2>
      <p>
        Die Darstellung der App und ihrer Funktionen stellt kein bindendes Angebot dar. Ein Vertrag
        über kostenpflichtige Leistungen kommt erst zustande, wenn dies im Rahmen des jeweiligen
        App-Store-Prozesses (z. B. App Store oder Google Play) ausdrücklich bestätigt wird.
      </p>

      <h2>§ 5 Pflichten der Nutzer</h2>
      <p>
        Nutzer verpflichten sich, die App nicht missbräuchlich zu verwenden, Inhalte nicht
        unbefugt zu vervielfältigen oder weiterzugeben und keine Maßnahmen zu ergreifen, die die
        Funktionsfähigkeit beeinträchtigen.
      </p>

      <h2>§ 6 Urheberrecht</h2>
      <p>
        Sämtliche Inhalte, Texte, Grafiken und das Design sind urheberrechtlich geschützt. Eine
        Nutzung außerhalb des bestimmungsgemäßen Gebrauchs bedarf unserer vorherigen Zustimmung.
      </p>

      <h2>§ 7 Haftung</h2>
      <p>
        Wir haften unbeschränkt für Vorsatz und grobe Fahrlässigkeit sowie nach dem
        Produkthaftungsgesetz. Bei leichter Fahrlässigkeit haften wir nur bei Verletzung einer
        wesentlichen Vertragspflicht (Kardinalpflicht) und begrenzt auf den vorhersehbaren,
        vertragstypischen Schaden. Für die inhaltliche Richtigkeit, Vollständigkeit und Aktualität
        der Lerninhalte wird keine Gewähr übernommen.
      </p>

      <h2>§ 8 Schlussbestimmungen</h2>
      <p>
        Es gilt das Recht der Bundesrepublik Deutschland. Sollten einzelne Bestimmungen dieser AGB
        unwirksam sein, bleibt die Wirksamkeit der übrigen Bestimmungen unberührt.
      </p>

      <p className="muted">Stand: {STAND}</p>
    </React.Fragment>
  );
}

/* ─── Widerrufsbelehrung ──────────────────────────────────────── */
function Widerruf() {
  return (
    <React.Fragment>
      <div className="legal__notice">
        Diese Widerrufsbelehrung gilt für Verbraucher, die kostenpflichtige digitale Leistungen
        erwerben. Solange die App kostenlos bzw. nicht veröffentlicht ist, ist sie ggf. noch nicht
        einschlägig. Bitte vor Veröffentlichung anwaltlich prüfen lassen.
      </div>

      <h2>Widerrufsrecht</h2>
      <p>
        Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen einen Vertrag über
        kostenpflichtige digitale Leistungen zu widerrufen. Die Widerrufsfrist beträgt vierzehn Tage
        ab dem Tag des Vertragsabschlusses.
      </p>
      <p>
        Um Ihr Widerrufsrecht auszuüben, müssen Sie uns
      </p>
      <p>
        <strong>{COMPANY.name}</strong>, {COMPANY.owner}<br />
        {COMPANY.street}, {COMPANY.city}<br />
        E-Mail: <a href={'mailto:' + COMPANY.email}>{COMPANY.email}</a>
      </p>
      <p>
        mittels einer eindeutigen Erklärung (z. B. ein mit der Post versandter Brief oder eine
        E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren. Zur Wahrung der
        Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts
        vor Ablauf der Widerrufsfrist absenden.
      </p>

      <h2>Folgen des Widerrufs</h2>
      <p>
        Wenn Sie diesen Vertrag widerrufen, haben wir Ihnen alle Zahlungen, die wir von Ihnen erhalten
        haben, unverzüglich und spätestens binnen vierzehn Tagen ab dem Tag zurückzuzahlen, an dem die
        Mitteilung über Ihren Widerruf bei uns eingegangen ist. Für die Rückzahlung verwenden wir
        dasselbe Zahlungsmittel, das Sie bei der ursprünglichen Transaktion eingesetzt haben.
      </p>

      <h2>Vorzeitiges Erlöschen des Widerrufsrechts</h2>
      <p>
        Bei digitalen Inhalten erlischt das Widerrufsrecht, wenn Sie ausdrücklich zugestimmt haben,
        dass wir mit der Ausführung vor Ablauf der Widerrufsfrist beginnen, und Sie Ihre Kenntnis davon
        bestätigt haben, dass Sie durch Ihre Zustimmung das Widerrufsrecht verlieren.
      </p>

      <p className="muted">Stand: {STAND}</p>
    </React.Fragment>
  );
}

const PAGE_CONTENT = {
  impressum: Impressum,
  datenschutz: Datenschutz,
  agb: AGB,
  widerruf: Widerruf,
};

window.LEGAL_PAGES = ['impressum', 'datenschutz', 'agb', 'widerruf'];

/* ─── Legal view wrapper ──────────────────────────────────────── */
function LegalView({ page, lang, t, onBack }) {
  const Content = PAGE_CONTENT[page];
  const notice = t.legal.notice; // null for German
  const title = t.legal[page];

  React.useEffect(() => { window.scrollTo(0, 0); }, [page]);

  if (!Content) return null;

  return (
    <div className="legal container">
      <div className="legal__head">
        <div className="legal__back" role="button" tabIndex={0} onClick={onBack}
          onKeyDown={(e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); onBack(); } }}>
          <span aria-hidden="true">{lang === 'ar' ? '→' : '←'}</span> {t.legal.back}
        </div>
        <h1 className="display">{title}</h1>
      </div>
      <div className="legal__body" lang="de" dir="ltr">
        {notice && <div className="legal__notice" style={{ direction: lang === 'ar' ? 'rtl' : 'ltr' }}>{notice}</div>}
        <Content />
      </div>
    </div>
  );
}

Object.assign(window, { LegalView, Ph });
