import React from 'react';

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>;
}

export default function FA11DigitaleFuellkarteSelfServiceKundenansicht() {
  return (
    <div className="min-h-screen bg-slate-50 p-6 text-slate-900">
      <div className="mx-auto max-w-6xl space-y-5">
        <header className="rounded-2xl border border-sky-200 bg-sky-50 p-6 shadow-sm">
          <p className="text-sm font-semibold uppercase tracking-wide text-sky-700">UC03 · FA-11</p>
          <h1 className="mt-1 text-3xl font-bold">Digitale Füllkarte</h1>
          <p className="mt-2 text-sm text-slate-600">Self-Service Kundenansicht für Restguthaben, QR-Code und Füllabruf.</p>
        </header>

        <div className="grid gap-5 lg:grid-cols-[380px_1fr]">
          <section className="rounded-3xl border border-slate-200 bg-white p-6 shadow-sm">
            <h2 className="text-xl font-bold">10+3 Bonuskarte Luft</h2>
            <p className="mt-1 text-sm text-slate-500">Maria Keller · gültig ab 2026-05-07</p>
            <div className="mt-4 flex flex-wrap gap-2"><Badge tone="green">aktiv</Badge><Badge tone="blue">Bestätigung nötig</Badge></div>
            <div className="mt-8 rounded-2xl border border-slate-200 bg-slate-50 p-6 text-center">
              <p className="text-5xl font-bold">8 / 13</p>
              <p className="mt-2 text-sm text-slate-500">Restguthaben Füllungen</p>
            </div>
            <div className="mt-6 rounded-2xl border border-slate-300 bg-slate-50 p-10 text-center font-semibold text-slate-500">QR-Code</div>
            <button className="mt-6 w-full rounded-xl bg-sky-700 px-4 py-3 text-sm font-semibold text-white">Füllabruf starten</button>
            <p className="mt-3 text-xs text-slate-500">QR-Code identifiziert nur das Füllkonto und bucht nicht direkt.</p>
          </section>

          <div className="space-y-5">
            <section className="rounded-2xl border border-slate-200 bg-white p-5 shadow-sm">
              <h2 className="text-lg font-bold">Abruf starten</h2>
              <div className="mt-4 grid gap-3 md:grid-cols-3">
                {['Luft', 'Nitrox 32', 'Bemerkung optional'].map((item) => <div key={item} className="rounded-xl border border-slate-300 bg-slate-50 px-3 py-2 text-sm font-semibold">{item}</div>)}
              </div>
              <div className="mt-4"><Badge tone="yellow">Abruf wird zur Mitarbeiterbestätigung gesendet</Badge></div>
            </section>
            <section className="rounded-2xl border border-slate-200 bg-white p-5 shadow-sm">
              <h2 className="text-lg font-bold">Status & Hinweise</h2>
              <div className="mt-4 flex flex-wrap gap-2"><Badge tone="green">Guthaben ausreichend</Badge><Badge tone="green">kein Konflikt</Badge><Badge tone="green">keine pending_sync</Badge></div>
              <p className="mt-4 text-sm text-slate-600">Bei kundeninitiiertem Abruf wird keine direkte Ledger-Buchung erzeugt. Die Freigabe erfolgt in FA-12.</p>
            </section>
            <section className="rounded-2xl border border-slate-200 bg-white p-5 shadow-sm">
              <h2 className="text-lg font-bold">Letzte Füllungen</h2>
              <div className="mt-4 space-y-3 text-sm text-slate-700">
                <p>2026-05-07 · Nitrox 32 · -2 · bestätigt durch Anna</p>
                <p>2026-05-03 · Luft · -1 · Mitarbeiterbuchung</p>
                <p>2026-05-01 · Karte angelegt · +13</p>
              </div>
            </section>
          </div>
        </div>
      </div>
    </div>
  );
}
