import React from 'react';

const history = [
  '2024-04-25 · TÜV bestanden · nächste Frist 2026-04-25',
  '2022-04-20 · TÜV bestanden · nächste Frist 2024-04-25',
  '2020-04-18 · Erstprüfung / Erfassung',
];

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',
    orange: 'bg-orange-100 text-orange-800 border-orange-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, hint }) {
  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>
      {hint ? <p className="mt-1 text-xs text-slate-500">{hint}</p> : null}
    </div>
  );
}

export default function FR03FristdetailJeEquipment() {
  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">UC05 · FR-03</p>
              <h1 className="mt-1 text-3xl font-bold">Fristdetail je Equipment</h1>
              <p className="mt-2 max-w-3xl text-sm text-slate-600">Detailansicht einer einzelnen Frist mit Equipment-, Workflow- und Benachrichtigungsbezug.</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">FR-02</button>
              <button className="rounded-xl border border-slate-300 bg-white px-4 py-2 text-sm font-semibold text-slate-800">UC01</button>
              <button className="rounded-xl border border-slate-300 bg-white px-4 py-2 text-sm font-semibold text-slate-800">UC02</button>
              <button className="rounded-xl bg-sky-700 px-4 py-2 text-sm font-semibold text-white">FR-07</button>
            </div>
          </div>
        </header>

        <div className="grid gap-5 lg:grid-cols-3">
          <Card title="Equipment">
            <div className="space-y-4">
              <Detail label="Equipment-ID" value="DT-1004" />
              <Detail label="Typ / Bezeichnung" value="Stahlflasche 12 l" />
              <Detail label="Kunde" value="Maria Keller" />
              <div><Badge tone="green">aktiv</Badge></div>
            </div>
          </Card>

          <Card title="Friststatus">
            <div className="space-y-4">
              <Badge tone="red">overdue</Badge>
              <div>
                <p className="text-4xl font-bold text-red-900">-12</p>
                <p className="text-sm text-slate-500">Tage seit Frist</p>
              </div>
              <Detail label="nächste Frist" value="2026-04-25" />
              <Detail label="Quelle" value="letzte TÜV-Prüfung" />
              <Detail label="berechnet" value="2026-05-07 09:30" />
            </div>
          </Card>

          <Card title="Benachrichtigung">
            <div className="space-y-4">
              <Badge tone="yellow">offen</Badge>
              <Detail label="letzte Nachricht" value="keine" />
              <Detail label="nächste mögliche Nachricht" value="UC07" />
              <button className="rounded-xl bg-sky-700 px-4 py-2 text-sm font-semibold text-white">FR-07 öffnen</button>
            </div>
          </Card>
        </div>

        <div className="grid gap-5 lg:grid-cols-2">
          <Card title="Prüfhistorie">
            <div className="divide-y divide-slate-100">
              {history.map((entry) => <p key={entry} className="py-3 text-sm text-slate-700">{entry}</p>)}
            </div>
            <div className="mt-4 flex justify-end">
              <button className="rounded-xl border border-slate-300 px-4 py-2 text-sm font-semibold text-slate-700">UC02 öffnen</button>
            </div>
          </Card>

          <Card title="Workflow">
            <div className="space-y-4">
              <Badge tone="blue">in Prüfung</Badge>
              <Detail label="Workflow" value="TÜV-Inspektion #4711" />
              <Detail label="Status" value="eingereicht · letzter Schritt: Dokumente prüfen" />
              <Detail label="Start / Verantwortlich" value="2026-05-06 · Anna Müller" />
              <div className="flex justify-end">
                <button className="rounded-xl bg-sky-700 px-4 py-2 text-sm font-semibold text-white">Workflow öffnen</button>
              </div>
            </div>
          </Card>
        </div>

        <section className="rounded-2xl border border-slate-200 bg-white p-5 shadow-sm">
          <div className="flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between">
            <div className="flex flex-wrap gap-2">
              <Badge tone="red">Frist ist überfällig</Badge>
              <Badge tone="blue">aktiver Workflow vorhanden</Badge>
            </div>
            <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">FR-04 öffnen</button>
              <button className="rounded-xl border border-slate-300 px-4 py-2 text-sm font-semibold text-slate-700">FR-08 Export</button>
            </div>
          </div>
          <p className="mt-4 text-sm text-slate-500">Read-only: Änderungen erfolgen in UC01 / UC02 / UC07.</p>
        </section>
      </div>
    </div>
  );
}
