import Link from "next/link"; import { prisma } from "@/lib/prisma"; import { BackLink } from "@/components/back-link"; import { ConfirmForm } from "@/components/confirm-form"; import { formatPrice, formatDate } from "@/lib/format"; import { deleteDiscountCodeAction } from "../actions"; import { getLocale } from "@/i18n/locale"; import { getDictionary } from "@/i18n/get-dictionary"; export default async function AdminGutscheinePage(props: PageProps<"/admin/gutscheine">) { const t = getDictionary(await getLocale()); const { error } = await props.searchParams; const codes = await prisma.discountCode.findMany({ orderBy: { createdAt: "desc" } }); return (
{error}
) : null}| {t.adminVouchersPage.colCode} | {t.adminVouchersPage.colDiscount} | {t.adminVouchersPage.colMinOrder} | {t.adminVouchersPage.colMinQuantity} | {t.adminVouchersPage.colUsage} | {t.adminVouchersPage.colValidity} | {t.adminVouchersPage.colStatus} | |
|---|---|---|---|---|---|---|---|
| {code.code} | {code.type === "PERCENT" ? `${code.value} %` : formatPrice(code.value)} | {code.minOrderCents > 0 ? formatPrice(code.minOrderCents) : "—"} | {code.minQuantity !== null ? code.minQuantity : "—"} | {code.usedCount} {code.maxUses !== null ? ` / ${code.maxUses}` : ""} | {code.validFrom ? formatDate(code.validFrom) : t.adminVouchersPage.immediately} –{" "} {code.validUntil ? formatDate(code.validUntil) : t.adminVouchersPage.unlimited} | {code.isActive ? ( {t.adminVouchersPage.statusActive} ) : ( {t.adminVouchersPage.statusInactive} )} |
{t.adminVouchersPage.edit}
|
{t.adminVouchersPage.noVouchersYet}
: null}