import React from 'react';

const tokenChecks = [
  { label: 'tenant-gebunden', tone: 'green' },
  { label: 'kunden-gebunden', tone: 'green' },
  { label: 'einmalig verwendbar', tone: 'green' },
  { label: 'gültig 14 Tage', tone: 'yellow' },
];

function Badge({ children, tone = 'gray' }) {
  const tones = {
    green: 'bg-green-100 text-green-800 border-green-200',
    blue: 'bg-blue-100 text-blue-800 border-blue-200',
    yellow: 'bg-yellow-100 text-yellow-800 border-yellow-200',
    red: 'bg-red-100 text-red-800 border-red-200',
    gray: 'bg-slate-100 text-slate-700 border-slate-200',
  };
  return <span className={`inline-flex rounded-full border px-3 py-1 text-xs font-semibold ${tones[tone]}`}>{children}</span>;
}

function Card({ title, children }) {
  return (
    <section className="rounded-2xl border border-slate-200 bg-white p-5 shadow-sm">
      <h2 className="text-lg font-bold">{title}</h2>
      <div className="mt-4">{children}</div>
    </section>
  );
}

function Detail({ label, value }) {
  return (
    <div>
      <p className="text-xs font-semibold uppercase tracking-wide text-slate-500">{label}</p>
      <p className="mt-1 text-sm font-semibold text-slate-900">{value}</p>
    </div>
  );
}

export default function KP03EinladungsvorschauVersanduebergabe() {
  return (
    <div className="min-h-screen bg-slate-50 p-6 text-slate-900">
      <div className="mx-auto max-w-7xl space-y-5">
        <header className="rounded-2xl border border-sky-200 bg-sky-50 p-6 shadow-sm">
          <div className="flex flex-col gap-4 lg:flex-row lg:items-center lg:justify-between">
            <div>
              <p className="text-sm font-semibold uppercase tracking-wide text-sky-700">UC06 · KP-03</p>
              <h1 className="mt-1 text-3xl font-bold">Einladungsvorschau & Versandübergabe</h1>
              <p className="mt-2 max-w-3xl text-sm text-slate-600">Einladung prüfen und an UC07 – Benachrichtigungen übergeben.</p>
            </div>
            <div className="flex flex-wrap gap-2">
              <button className="rounded-xl border border-slate-300 bg-white px-4 py-2 text-sm font-semibold text-slate-800">KP-02</button>
              <button className="rounded-xl border border-slate-300 bg-white px-4 py-2 text-sm font-semibold text-slate-800">KP-04</button>
              <button className="rounded-xl bg-sky-700 px-4 py-2 text-sm font-semibold text-white">UC07</button>
            </div>
          </div>
        </header>

        <section className="rounded-2xl border border-slate-200 bg-white p-5 shadow-sm">
          <h2 className="text-lg font-bold">Einladungsstatus</h2>
          <div className="mt-4 flex flex-wrap gap-2">
            <Badge tone="blue">Entwurf</Badge>
            <Badge tone="green">E-Mail gültig</Badge>
            <Badge tone="green">Token vorbereitet</Badge>
            <Badge tone="yellow">gültig 14 Tage</Badge>
            <Badge tone="gray">kein Direktversand</Badge>
          </div>
        </section>

        <div className="grid gap-5 lg:grid-cols-3">
          <Card title="Empfänger">
            <div className="space-y-4">
              <Detail label="Kunde" value="Sara Frei · K-2026-018" />
              <Detail label="E-Mail" value="sara@example.test" />
              <Badge tone="blue">invited</Badge>
            </div>
          </Card>

          <Card title="Token & Link">
            <div className="flex flex-wrap gap-2">
              {tokenChecks.map((check) => <Badge key={check.label} tone={check.tone}>{check.label}</Badge>)}
            </div>
            <p className="mt-4 text-sm text-slate-600">Link: https://portal.../invite/••••••</p>
          </Card>

          <Card title="Versandübergabe">
            <div className="space-y-3 text-sm text-slate-700">
              <p>Ziel: UC07 notification_queue</p>
              <p>Vorlage: Portal-Einladung</p>
              <p>Ablaufdatum: 2026-05-21</p>
              <Badge tone="blue">Status nach Übergabe: ready</Badge>
            </div>
          </Card>
        </div>

        <Card title="Nachrichtenvorschau">
          <div className="space-y-4">
            <Detail label="Betreff" value="Einladung zum Kundenportal von Tauchschule Hochrhein" />
            <div>
              <p className="text-xs font-semibold uppercase tracking-wide text-slate-500">Nachricht</p>
              <div className="mt-1 rounded-xl border border-slate-300 bg-slate-50 p-4 text-sm leading-6 text-slate-700">
                <p>Guten Tag Sara Frei,</p>
                <p className="mt-2">du wurdest zum Kundenportal eingeladen.</p>
                <p className="mt-2">Der Einladungslink ist 14 Tage gültig und kann nur einmal verwendet werden.</p>
              </div>
            </div>
          </div>
        </Card>

        <section className="rounded-2xl border border-slate-200 bg-white p-5 shadow-sm">
          <div className="flex flex-wrap gap-2">
            <button className="rounded-xl border border-slate-300 px-4 py-2 text-sm font-semibold text-slate-700">Abbrechen</button>
            <button className="rounded-xl border border-slate-300 px-4 py-2 text-sm font-semibold text-slate-700">KP-02 zurück</button>
            <button className="rounded-xl bg-sky-700 px-4 py-2 text-sm font-semibold text-white">An UC07 übergeben</button>
          </div>
          <p className="mt-4 text-sm text-slate-500">Vollständige Token werden nicht unnötig angezeigt oder geloggt.</p>
        </section>
      </div>
    </div>
  );
}
