From 9ff39a04389fd0838710776d105d066e0a98d7c7 Mon Sep 17 00:00:00 2001 From: cfngc4594 Date: Sat, 8 Mar 2025 19:46:01 +0800 Subject: [PATCH] feat(problems): add problem description page with MDX rendering --- .../[id]/@problem/@description/page.tsx | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/app/(app)/problems/[id]/@problem/@description/page.tsx diff --git a/src/app/(app)/problems/[id]/@problem/@description/page.tsx b/src/app/(app)/problems/[id]/@problem/@description/page.tsx new file mode 100644 index 0000000..a4d18bf --- /dev/null +++ b/src/app/(app)/problems/[id]/@problem/@description/page.tsx @@ -0,0 +1,31 @@ +import prisma from "@/lib/prisma"; +import { notFound } from "next/navigation"; +import { ScrollArea } from "@/components/ui/scroll-area"; +import { MdxRenderer } from "@/components/content/mdx-renderer"; + +interface ProblemPageProps { + params: Promise<{ id: string }> +} + +export default async function ProblemPage({ + params +}: ProblemPageProps) { + const { id } = await params; + + const problem = await prisma.problem.findUnique({ + where: { id: parseInt(id) }, + include: { + author: true, + }, + }); + + if (!problem) { + notFound(); + } + + return ( + + + + ); +}