import type { Metadata } from 'next' import Link from 'next/link' import { Fingerprint, KeyRound, MapPin, ShieldCheck } from 'lucide-react' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card' import { SeitenKopf } from '@/components/seiten-kopf' import { erfordereBenutzer } from '@/lib/auth/sitzung' import { passkeysDesBenutzers, passkeysMoeglich } from '@/lib/auth/passkey' import { PasskeyVerwaltung } from '@/components/konto/passkey-verwaltung' import { ROLLEN_BESCHRIFTUNG, ROLLEN_ERKLAERUNG } from '@/lib/auth/rollen' import { formatDatumZeit } from '@/lib/utils' import { PasswortFormular } from './passwort-formular' import { AnschriftFormular } from './anschrift-formular' export const metadata: Metadata = { title: 'Mein Konto' } export const dynamic = 'force-dynamic' export default async function KontoSeite() { const benutzer = await erfordereBenutzer() const codesUebrig = benutzer.wiederherstellungscodes.length const passkeys = await passkeysDesBenutzers(benutzer.id) return (
{ROLLEN_ERKLAERUNG[benutzer.rolle]}
{codesUebrig > 0 ? ( <> Noch {codesUebrig} Wiederherstellungscode {codesUebrig === 1 ? '' : 's'} übrig. {codesUebrig <= 2 && ( Es wird Zeit, neue zu erzeugen. )} > ) : ( Keine Wiederherstellungscodes mehr übrig. Geht dein Handy verloren, kommst du nicht mehr an die Daten. Bitte gleich neue erzeugen. )}