import Link from "next/link"; import { Suspense } from "react"; import { getDb } from "@/lib/db"; import { getVoucherStatus } from "@/lib/voucher-status"; import { formatEuro } from "@/lib/vouchers"; const FILTERS = [ { key: "", label: "Alle" }, { key: "aktiv", label: "Aktiv" }, { key: "bald", label: "Bald ablaufend" }, { key: "abgelaufen", label: "Abgelaufen" }, { key: "eingeloest", label: "Eingelöst" }, ] as const; function Skeleton() { return ( ); } async function VoucherList({ filter }: { filter: string }) { const db = getDb(); const all = await db.voucher.findMany({ orderBy: { createdAt: "desc" } }); const now = Date.now(); const in14d = now + 14 * 24 * 3600 * 1000; const filtered = all.filter((v) => { const s = getVoucherStatus(v); if (filter === "eingeloest") return s === "eingeloest"; if (filter === "abgelaufen") return s === "abgelaufen"; if (filter === "bald") return s === "aktiv" && v.ablaufdatum && +new Date(v.ablaufdatum) >= now && +new Date(v.ablaufdatum) <= in14d; if (filter === "aktiv") return s === "aktiv"; return true; }); if (filtered.length === 0) { return (

Keine Gutscheine gefunden.

Gutschein anlegen
); } return ( ); } export default async function Home({ searchParams }: { searchParams: Promise<{ filter?: string }> }) { const { filter = "" } = await searchParams; return (

Gutscheine

Neu
}>
); }