import { redirect } from "next/navigation"; import { getTranslations } from "next-intl/server"; import { ContentCard, StatBlock } from "@/components/public/ui"; import { auth } from "@/lib/auth"; import { prisma } from "@/lib/prisma"; import RedeemForm from "./RedeemForm"; export const dynamic = "force-dynamic"; export default async function RedeemPage() { const session = await auth(); if (!session?.user?.id) redirect("/login"); const t = await getTranslations("pages.redeem"); const id = Number(session.user.id); // Show the signed-in user's current credit balance for context (fail soft). let user: { username: string; credits: number } | null = null; try { user = await prisma.user.findUnique({ where: { id }, select: { username: true, credits: true }, }); } catch { user = null; } if (!user) redirect("/login"); return (

{t("oncePerAccount")}

{t("instantCredit")}

); }