import { redirect } from "next/navigation"; import AdminShell from "@/components/admin/AdminShell"; import { requireAdminSession } from "@/lib/admin/auth"; import { getContactInquiries, getRepairInquiries } from "@/lib/admin/store"; function countNew(items: T[]) { return items.filter((item) => item.status === "new").length; } export default async function AdminDashboardPage() { if (!await requireAdminSession()) redirect("/admin/login"); const [contacts, repairs] = await Promise.all([getContactInquiries(), getRepairInquiries()]); const latest = [...contacts, ...repairs].sort((a, b) => b.createdAt.localeCompare(a.createdAt)).slice(0, 6); return (

Administration

Dashboard

Kontaktanfragen{countNew(contacts)}neu
Reparaturanfragen{countNew(repairs)}neu
WebsiteOnlineOK
SMTPVorbereitetnicht aktiv

Letzte Anfragen

{latest.map((item) => ( ))} {latest.length === 0 && }
DatumNameTypStatus
{new Date(item.createdAt).toLocaleDateString("de-DE")} {item.name} {"manufacturer" in item ? "Reparatur" : "Kontakt"} {item.status}
Noch keine Anfragen vorhanden.
); }