From ba676b3213b8f187758d8b58e2cb1fae9ef2192d Mon Sep 17 00:00:00 2001 From: cfngc4594 Date: Sat, 5 Apr 2025 18:03:36 +0800 Subject: [PATCH] feat(problem): add Bot panel and adapt to new dockview API --- src/app/(app)/problems/[id]/layout.tsx | 94 +++++++++++++++++++++----- 1 file changed, 76 insertions(+), 18 deletions(-) diff --git a/src/app/(app)/problems/[id]/layout.tsx b/src/app/(app)/problems/[id]/layout.tsx index 95f5f1c..63b418a 100644 --- a/src/app/(app)/problems/[id]/layout.tsx +++ b/src/app/(app)/problems/[id]/layout.tsx @@ -12,6 +12,7 @@ interface ProblemProps { Code: React.ReactNode; Testcase: React.ReactNode; TestResult: React.ReactNode; + Bot: React.ReactNode; } export default async function ProblemLayout({ @@ -22,21 +23,19 @@ export default async function ProblemLayout({ Code, Testcase, TestResult, + Bot, }: ProblemProps) { const { id } = await params; - const [ - problemData, - editorLanguageConfigs, - languageServerConfigs, - ] = await Promise.all([ - prisma.problem.findUnique({ - where: { id }, - include: { templates: true }, - }), - prisma.editorLanguageConfig.findMany(), - prisma.languageServerConfig.findMany(), - ]); + const [problemData, editorLanguageConfigs, languageServerConfigs] = + await Promise.all([ + prisma.problem.findUnique({ + where: { id }, + include: { templates: true }, + }), + prisma.editorLanguageConfig.findMany(), + prisma.languageServerConfig.findMany(), + ]); if (!problemData) { return notFound(); @@ -56,12 +55,71 @@ export default async function ProblemLayout({