/* Gridea site — content & legal pages (Meist, Töökohad, Kontakt, legal) */

function SimplePageHero({ eyebrow, title, intro }) {
  return (
    <section className="page-hero" style={{ paddingBottom: 48 }}>
      <div className="page-hero-inner">
        <span className="eyebrow">{eyebrow}</span>
        <h1>{title}</h1>
        {intro && <p>{intro}</p>}
      </div>
    </section>
  );
}

function AboutPage({ go }) {
  return (
    <div className="route-page">
      <SimplePageHero eyebrow="Meist" title={<>Energiavaldkonnas <em>üle 14 aasta</em></>}/>
      <section className="section light" style={{ paddingTop: 24 }}>
        <div className="container">
          <div className="prose">
            <p>Gridea meeskond on energia valdkonnas olnud aktiivne juba rohkem kui 14 aastat. Alguses tundus energia valdkond jube keeruline ning tundus, et tarbi kuidas sa tarbid, ega midagi muuta ei saa. Võrguettevõtja ja elektrimüüja esitavad ikka kalleid arveid ja ega neid maksmata ei saa jätta. Ilma elektrita ju ei saa.</p>
            <p>14 aasta jooksul oleme omale asjad päris hästi selgeks teinud, töötades erinevates energiaettevõtetes nii Eestis kui mujal Euroopas. Seda teadmist jagame ka teiega, et aidata teil raha kokku hoida.</p>
            <p>Esimesed kliendid hakkasid meilt abi saama juba 11 aastat tagasi ja enamus neist on seni meiega. Siin portaalis on koondatud klientide tagasiside ja vajadused.</p>
            <p>Arvame, et elektri ja sellega seonduva eest võiks maksta nii palju kui vajalik, aga nii vähe kui võimalik. Head kasutamist.</p>
          </div>
        </div>
      </section>
      <HomeCTA go={go}/>
    </div>
  );
}

function CareersPage({ go }) {
  return (
    <div className="route-page">
      <SimplePageHero eyebrow="Töökohad" title={<>Praegu me <em>kedagi ei otsi</em></>}/>
      <section className="section light" style={{ paddingTop: 24 }}>
        <div className="container">
          <div className="prose">
            <p>Hetkel ei otsi me kedagi. Paneme siia kindlasti teate üles, kui hakkame tiimikaaslasi juurde otsima.</p>
          </div>
        </div>
      </section>
      <HomeCTA go={go}/>
    </div>
  );
}

function ContactPage({ go }) {
  return (
    <div className="route-page">
      <SimplePageHero eyebrow="Kontakt" title={<>Küsi <em>Gridea AI chatilt</em></>}
        intro="Meil ei ole kontorit, kuhu saab tulla kohale, võtta ootejärjekorra pilet ning siis teenindajaga suhelda. Meil on portaalis olemas Gridea AI chat, mis on targem, kiirem ja kannatlikum kui inimene."/>
      <section className="section light" style={{ paddingTop: 24 }}>
        <div className="contact-grid">
          <div className="contact-card">
            <div className="ico"><GIcon name="sparkles" size={20}/></div>
            <h4>Gridea AI chat</h4>
            <p>Kasuta palun chatti ja küsi mida iganes — see on kiireim viis vastuse saamiseks.</p>
            <a className="contact-link" href="https://portal.gridea.io" target="_blank" rel="noopener noreferrer" title="Avaneb uues aknas">Ava portaal ja chat <GIcon name="arrow-up-right" size={13}/></a>
          </div>
          <div className="contact-card">
            <div className="ico"><GIcon name="mail" size={20}/></div>
            <h4>Kui on tõesti vaja</h4>
            <p>Kirjuta meile või helista. Vastame nii ruttu kui saame.</p>
            <div style={{ display: 'flex', flexDirection: 'column', gap: 8 }}>
              <a className="contact-link" href="mailto:support@gridea.io"><GIcon name="mail" size={13}/> support@gridea.io</a>
              <span style={{ fontSize: 14, color: 'var(--l-text)' }}>Tarvo Õng · <a className="contact-link" href="tel:+3725210939" style={{ display: 'inline' }}>+372 521 0939</a></span>
            </div>
          </div>
        </div>
      </section>
      <HomeCTA go={go}/>
    </div>
  );
}

function LegalShell({ eyebrow, title, updated, children }) {
  return (
    <div className="route-page">
      <section className="page-hero" style={{ paddingBottom: 40 }}>
        <div className="page-hero-inner">
          <span className="eyebrow">{eyebrow}</span>
          <h1 style={{ fontSize: 'clamp(30px, 3.6vw, 44px)' }}>{title}</h1>
        </div>
      </section>
      <section className="section light" style={{ paddingTop: 24 }}>
        <div className="container">
          <div className="prose">
            <div className="legal-meta">Viimati uuendatud: {updated} · Vastutav töötleja: Gridea OÜ (registrikood 17165308), Eesti · support@gridea.io</div>
            {children}
          </div>
        </div>
      </section>
    </div>
  );
}

function PrivacyPage() {
  return (
    <LegalShell eyebrow="Õiguslik" title="Privaatsuspoliitika" updated="20.07.2026">
      <h2>1. Üldsätted</h2>
      <p>Käesolev privaatsuspoliitika kirjeldab, kuidas Gridea OÜ (edaspidi „Gridea", „meie") kogub, kasutab, säilitab ja kaitseb isikuandmeid, mida töötleme oma teenuste osutamisel. Töötleme isikuandmeid kooskõlas Euroopa Liidu isikuandmete kaitse üldmäärusega (GDPR) ja Eesti isikuandmete kaitse seadusega.</p>

      <h2>2. Milliseid andmeid me kogume</h2>
      <ul>
        <li><strong>Konto- ja kontaktandmed:</strong> nimi, e-posti aadress, telefoninumber, ettevõtte nimi ja ametikoht.</li>
        <li><strong>Tarbimisandmed:</strong> mõõtepunktide elektritarbimise andmed, mille edastamiseks olete andnud volituse (nt Eleringi andmelao kaudu).</li>
        <li><strong>Kasutusandmed:</strong> logid, seadme- ja brauseriandmed, IP-aadress ning teenuse kasutamise statistika.</li>
      </ul>

      <h2>3. Töötlemise eesmärk ja õiguslik alus</h2>
      <p>Töötleme isikuandmeid teenuse osutamiseks ja lepingu täitmiseks (GDPR art 6(1)(b)), seadusest tulenevate kohustuste täitmiseks (art 6(1)(c)) ning meie õigustatud huvi alusel teenuse arendamiseks ja turvalisuse tagamiseks (art 6(1)(f)). Turunduslikke teavitusi saadame üksnes teie nõusolekul (art 6(1)(a)).</p>

      <h2>4. Andmete säilitamine</h2>
      <p>Säilitame isikuandmeid nii kaua, kui see on vajalik eeltoodud eesmärkide täitmiseks või seadusest tuleneva tähtaja jooksul. Konto sulgemise järel kustutame või anonümiseerime andmed mõistliku aja jooksul, välja arvatud andmed, mille säilitamist nõuab seadus (nt raamatupidamise algdokumendid).</p>

      <h2>5. Andmete jagamine</h2>
      <p>Me ei müü teie andmeid. Jagame andmeid üksnes usaldusväärsete volitatud töötlejatega (nt pilveteenuse ja e-posti teenuse pakkujad), kes töötlevad andmeid meie juhiste kohaselt ja asuvad Euroopa Majanduspiirkonnas või tagavad samaväärse kaitsetaseme.</p>

      <h2>6. Teie õigused</h2>
      <ul>
        <li>Õigus tutvuda oma andmetega ja saada nendest koopia.</li>
        <li>Õigus andmete parandamisele ja kustutamisele.</li>
        <li>Õigus töötlemise piiramisele ja vastuväite esitamisele.</li>
        <li>Õigus andmete ülekandmisele ning nõusoleku tagasivõtmisele.</li>
        <li>Õigus esitada kaebus Andmekaitse Inspektsioonile (aki.ee).</li>
      </ul>

      <h2>7. Küpsised</h2>
      <p>See veebileht ei kasuta küpsiseid ega salvesta teie seadmesse jälgimisandmeid. Sisselogimist nõudev Gridea portaal kasutab üksnes teenuse toimimiseks hädavajalikke küpsiseid (nt sisselogimise sessioon). Täpsemalt vt lehte „Küpsised".</p>

      <h2>8. Kontakt</h2>
      <p>Privaatsust puudutavate küsimustega pöörduge: support@gridea.io.</p>
    </LegalShell>
  );
}

function TermsPage() {
  // Text comes from terms-content.js (generated from gridea-redo/lib/legal/terms-et.json),
  // so this page and the portal's /terms page can never drift apart.
  const t = window.GRIDEA_TERMS;
  if (!t) return <LegalShell eyebrow="Õiguslik" title="Kasutustingimused" updated="—"><p>Tingimuste laadimine ebaõnnestus. Palun laadi leht uuesti või kirjuta support@gridea.io.</p></LegalShell>;
  return (
    <LegalShell eyebrow="Õiguslik" title={t.title} updated={t.versionLabel}>
      <p>{t.intro}</p>
      {t.sections.map((sec, i) => (
        <React.Fragment key={sec.heading}>
          <h2>{i + 1}. {sec.heading}</h2>
          {sec.blocks.map((b, j) => b.ul ? (
            <ul key={j}>
              {b.ul.map((item, k) => (
                <li key={k}>{typeof item === 'string' ? item : <><strong>{item.lead}</strong> {item.text}</>}</li>
              ))}
            </ul>
          ) : (
            <p key={j}>{b.p}</p>
          ))}
        </React.Fragment>
      ))}
    </LegalShell>
  );
}

function CookiePage() {
  return (
    <LegalShell eyebrow="Õiguslik" title="Küpsised" updated="22.07.2026">
      <h2>Lühidalt</h2>
      <p><strong>See veebileht ei kasuta küpsiseid.</strong> Me ei jälgi teid, ei kogu teie kohta statistikat ega salvesta teie seadmesse midagi, mille abil teid hiljem ära tunda. Seetõttu ei küsi me siin lehel ka nõusolekut — pole millegagi nõustuda.</p>

      <h2>1. Mis on küpsis</h2>
      <p>Küpsis (cookie) on väike tekstifail, mille veebileht salvestab teie seadmesse. Tavaliselt kasutatakse neid selleks, et hoida teid sisselogituna, jätta meelde teie eelistusi või mõõta teie käitumist. Õiguslikult käsitletakse samamoodi ka muid seadmesse salvestamise viise, nagu <em>localStorage</em> ja <em>sessionStorage</em>.</p>

      <h2>2. Mida see leht salvestab</h2>
      <p>Mitte midagi. Kontrollisime seda ka tehniliselt: gridea.io ei sea ühtegi küpsist ega kirjuta teie brauseri salvestusruumi. See kehtib ka lehel oleva vestlusassistendi kohta — vestlus püsib ainult lehe mälus ja kaob, kui te lehe sulgete.</p>

      <h2>3. Teenused, mis laadivad lehe osi</h2>
      <p>Küpsiste puudumine ei tähenda, et teie brauser ei suhtle ühegi kolmanda osapoolega. Kirjatüübid serveerime alates 22.07.2026 oma serverist, nii et Google'ile teie IP-aadressi enam ei edastata. Üks väline teenus on siiski alles:</p>
      <ul>
        <li><strong>unpkg.com</strong> — lehe tööks vajalikud tarkvarateegid. Faili laadimisel jõuab selle teenuseni teie IP-aadress.</li>
      </ul>
      <p>See teenus ei sea meie lehel küpsiseid ega jälgi teid meie nimel. Töötame selle nimel, et ka need failid tuleksid tulevikus otse meie enda serverist.</p>

      <h2>4. Kui hakkame kunagi statistikat koguma</h2>
      <p>Kui lisame kunagi veebianalüütika või muu teenuse, mis nõuab seadmesse salvestamist, küsime selleks eelnevalt teie nõusolekut. Keeldumine on sama lihtne kui nõustumine ja oma valikut saab igal ajal muuta. Enne nõusolekut selliseid teenuseid ei laadita.</p>

      <h2>5. Gridea portaal on eraldi</h2>
      <p>Sisselogimist nõudev Gridea portaal (portal.gridea.io) kasutab tööks vajalikke küpsiseid — näiteks selleks, et hoida teid sisselogituna ja kaitsta kontot. Need on teenuse toimimiseks hädavajalikud ja neid ei kasutata jälgimiseks ega turunduseks.</p>

      <h2>6. Kuidas küpsiseid ise juhtida</h2>
      <p>Sõltumata sellest, mida üks või teine veebileht teeb, saate küpsiseid hallata oma brauseri seadetes: neid vaadata, kustutada ja blokeerida. Juhised leiate brauseri abiinfost (Chrome, Firefox, Safari, Edge). Selle lehe kasutamist küpsiste blokeerimine ei mõjuta.</p>

      <h2>7. Kontakt</h2>
      <p>Küpsiste ja privaatsuse küsimustega pöörduge: support@gridea.io. Isikuandmete töötlemise kohta loe lähemalt privaatsuspoliitikast.</p>
    </LegalShell>
  );
}

function DataProtectionPage() {
  return (
    <LegalShell eyebrow="Õiguslik" title="Andmekaitse" updated="20.07.2026">
      <h2>1. Meie lähenemine</h2>
      <p>Andmekaitse on Gridea teenuse alus. Rakendame lõimitud ja vaikimisi andmekaitset (GDPR art 25) — kogume üksnes teenuse osutamiseks vajalikke andmeid ning kaitseme neid kogu elutsükli jooksul.</p>

      <h2>2. Tehnilised ja korralduslikud meetmed</h2>
      <ul>
        <li>Andmete krüpteerimine edastamisel (TLS) ja säilitamisel.</li>
        <li>Rollipõhine juurdepääsu kontroll ja mitmeastmeline autentimine.</li>
        <li>Regulaarsed varukoopiad ning taasteprotseduurid.</li>
        <li>Logimine ja jälgitavus võimalike intsidentide tuvastamiseks.</li>
      </ul>

      <h2>3. Andmete asukoht ja alltöötlejad</h2>
      <p>Andmeid hoitakse Euroopa Majanduspiirkonnas. Kasutame hoolikalt valitud alltöötlejaid (pilve-, e-posti- ja analüütikateenused), kellega oleme sõlminud andmetöötluslepingud (GDPR art 28).</p>

      <h2>4. Andmetega seotud rikkumised</h2>
      <p>Isikuandmetega seotud rikkumise korral teavitame Andmekaitse Inspektsiooni 72 tunni jooksul ning vajaduse korral ka mõjutatud kasutajaid, nagu näeb ette GDPR.</p>

      <h2>5. Andmetöötluslepingud (DPA)</h2>
      <p>Äriklientidele, kes tegutsevad vastutava töötlejana, pakume eraldi andmetöötluslepingut. Selle saamiseks kirjutage: support@gridea.io.</p>

      <h2>6. Kontakt</h2>
      <p>Andmekaitseküsimustega pöörduge: support@gridea.io.</p>
    </LegalShell>
  );
}

Object.assign(window, { AboutPage, CareersPage, ContactPage, PrivacyPage, TermsPage, CookiePage, DataProtectionPage });
