import type { Metadata } from 'next' import { Benachrichtigungen } from '@/app/(app)/einstellungen/benachrichtigungen' import { PasskeyVerwaltung } from '@/app/(app)/einstellungen/passkey-verwaltung' import { Card, CardBeschreibung, CardInhalt, CardKopf, CardTitel, } from '@/components/ui/card' import { ROLLEN_NAME } from '@/lib/rollen' import { alsEinstellung } from '@/server/benachrichtigung/versand' import { alsUhrzeit } from '@/lib/zeit' import { umgebung } from '@/server/umgebung' import { alsDatumUhrzeit } from '@/lib/zeit' import { verlangeAnmeldung } from '@/server/berechtigung' import { db } from '@/server/db' export const metadata: Metadata = { title: 'Einstellungen' } export default async function EinstellungenSeite() { const benutzer = await verlangeAnmeldung('/einstellungen') const einst = umgebung() const [benachrichtigung, telegramChats, pushGeraete] = await Promise.all([ db.benachrichtigungseinstellung.findUnique({ where: { benutzerId: benutzer.id }, select: { anlaesse: true, perPush: true, perMail: true, perTelegram: true, ueberblickUm: true, ruheVon: true, ruheBis: true, ruheAmWochenende: true, zeitblockVorlaufMinuten: true, }, }), db.telegramChat.count({ where: { benutzerId: benutzer.id, meldungen: true } }), db.pushGeraet.findMany({ where: { benutzerId: benutzer.id }, orderBy: { erstelltAm: 'asc' }, select: { id: true, bezeichnung: true, erstelltAm: true, zuletztBenutzt: true, }, }), ]) const einstellung = alsEinstellung(benachrichtigung) const passkeys = await db.passkey.findMany({ where: { benutzerId: benutzer.id }, orderBy: { erstelltAm: 'asc' }, select: { id: true, bezeichnung: true, erstelltAm: true, zuletztBenutzt: true, gesichert: true, }, }) return (

Einstellungen

Konto
Name
{benutzer.name ?? '—'}
E-Mail
{benutzer.email}
Rolle
{ROLLEN_NAME[benutzer.rolle]}
Passkeys Mit einem Passkey meldest du dich per Fingerabdruck, Gesicht oder Geräte-PIN an – ohne Passwort. Hinterlege am besten zwei, damit du bei Verlust eines Geräts nicht ausgesperrt bist. ({ id: p.id, bezeichnung: p.bezeichnung, erstelltAm: alsDatumUhrzeit(p.erstelltAm), zuletztBenutzt: p.zuletztBenutzt ? alsDatumUhrzeit(p.zuletztBenutzt) : null, gesichert: p.gesichert, }))} /> Benachrichtigungen Ab Werk meldet der Planer gar nichts. Was du hier einschaltest, kommt — alles andere nicht. Eine Anwendung, die zu oft meldet, wird stummgeschaltet und ist dann wertlos. ({ id: g.id, bezeichnung: g.bezeichnung, erstelltAm: alsDatumUhrzeit(g.erstelltAm), zuletztBenutzt: g.zuletztBenutzt ? alsDatumUhrzeit(g.zuletztBenutzt) : null, }))} />
) }