"""Jami-Dating – App-Seite und Landing-Abschnitt."""

from __future__ import annotations

from pathlib import Path

from jam.jami_domain import resolve_site_url

ROOT = Path(__file__).resolve().parent.parent
APK_SOURCE = ROOT / "data" / "Jami-Dating-release.apk"
PACKAGE_ID = "de.jamidating.app"


def site_url() -> str:
    return (resolve_site_url() or "https://www.jami-dating.de").rstrip("/")


def apk_available() -> bool:
    return APK_SOURCE.is_file()


def copy_apk_to_site(site_root: Path) -> bool:
    if not apk_available():
        return False
    dest_dir = site_root / "downloads"
    dest_dir.mkdir(parents=True, exist_ok=True)
    dest = dest_dir / "Jami-Dating.apk"
    dest.write_bytes(APK_SOURCE.read_bytes())
    return True


def landing_app_section_html(*, apk_on_site: bool) -> str:
    base = site_url()
    apk_btn = (
        f'<a class="btn btn-primary app-dl-btn" href="{base}/downloads/Jami-Dating.apk" '
        f'download>Jami-App für Android laden</a>'
        if apk_on_site
        else '<p class="app-soon">Android-App wird vorbereitet – bald hier zum Download.</p>'
    )
    return f"""
<section class="landing-section app-promo" id="app">
  <div class="app-promo-inner">
    <div class="app-promo-copy">
      <p class="app-promo-kicker">📱 Auch als App</p>
      <h2>Jami auf dem Handy – wie eine echte Dating-App</h2>
      <p class="sub">Swipe, Match & Chat vom Homescreen. Gleiche Funktionen wie auf der Website.</p>
      <ul class="app-promo-list">
        <li>✓ Icon auf dem Startbildschirm</li>
        <li>✓ Push-Benachrichtigungen (wenn aktiviert)</li>
        <li>✓ Updates automatisch – kein Store-Update nötig</li>
      </ul>
      <div class="app-promo-actions">
        {apk_btn}
        <a class="btn btn-ghost" href="{base}/app">Alle Install-Optionen</a>
      </div>
      <p class="app-promo-note">Google Play Store folgt in Kürze · Jetzt: App installieren oder APK laden</p>
    </div>
    <div class="app-promo-badge" aria-hidden="true">
      <img src="images/jami-dating-logo.png" alt="" width="120" height="120"/>
      <span>Jami</span>
    </div>
  </div>
</section>"""


def app_page_body_html(*, apk_on_site: bool) -> str:
    base = site_url()
    apk_block = (
        f"""
<h2>Option 1 – Android-App installieren (empfohlen)</h2>
<p>Lade die offizielle Jami-App herunter und installiere sie auf deinem Android-Handy.</p>
<p><a class="btn btn-primary" href="{base}/downloads/Jami-Dating.apk" download>Jami-Dating.apk herunterladen</a></p>
<p class="meta">Nach dem Download: Datei öffnen → „Installieren“ → ggf. „Unbekannte Quellen“ für den Browser erlauben.</p>
"""
        if apk_on_site
        else """
<h2>Option 1 – Android-App</h2>
<p>Die Installationsdatei wird gerade vorbereitet. Nutze bis dahin Option 2 (Chrome) oder schreib uns an kontakt@ki-web-studio.de.</p>
"""
    )
    return f"""
<style>
.app-page h2 {{ margin-top: 1.75rem; }}
.app-page .btn {{ display: inline-block; margin: 0.5rem 0; }}
.app-page ol {{ padding-left: 1.25rem; }}
.app-page li {{ margin: 0.35rem 0; }}
.app-page .meta {{ color: var(--muted,#666); font-size: 0.9rem; }}
</style>
<div class="app-page">
<h1>📱 Jami-Dating App</h1>
<p>Die App ist die Website im App-Format – gleiche Profile, Matches und Chats. Updates kommen automatisch.</p>
{apk_block}
<h2>Option 2 – Chrome: Zum Startbildschirm (ohne Download)</h2>
<ol>
  <li>Chrome öffnen → <a href="{base}/">{base}</a></li>
  <li>Menü ⋮ → <strong>App installieren</strong> oder <strong>Zum Startbildschirm hinzufügen</strong></li>
  <li>Fertig – Icon erscheint wie bei einer App</li>
</ol>
<h2>Option 3 – Google Play Store</h2>
<p>Die Veröffentlichung im Play Store läuft. Sobald Jami-Dating dort live ist, verlinken wir hier direkt.</p>
<p>Package-ID: <code>{PACKAGE_ID}</code></p>
<h2>iPhone / iPad</h2>
<ol>
  <li>Safari → <a href="{base}/">{base}</a></li>
  <li>Teilen → <strong>Zum Home-Bildschirm</strong></li>
</ol>
<p class="meta">Fragen? kontakt@ki-web-studio.de · <a href="{base}/datenschutz">Datenschutz</a></p>
</div>"""
