2025-04-06 09:34:07 +00:00
|
|
|
"use client";
|
|
|
|
|
|
|
|
import {
|
|
|
|
Bot,
|
|
|
|
Code,
|
|
|
|
Description,
|
|
|
|
Solutions,
|
|
|
|
Submissions,
|
|
|
|
Testcase,
|
|
|
|
TestResult,
|
|
|
|
} from "@/app/(app)/problems/[id]/features";
|
|
|
|
import DockView from "@/components/dockview";
|
|
|
|
|
|
|
|
export default function ProblemPage() {
|
|
|
|
return (
|
|
|
|
<DockView
|
|
|
|
storageKey="dockview:problem"
|
|
|
|
components={{
|
|
|
|
Description: () => <Description />,
|
|
|
|
Solutions: () => <Solutions />,
|
|
|
|
Submissions: () => <Submissions />,
|
|
|
|
Code: () => <Code />,
|
|
|
|
Testcase: () => <Testcase />,
|
|
|
|
TestResult: () => <TestResult />,
|
|
|
|
Bot: () => <Bot />,
|
|
|
|
}}
|
|
|
|
options={[
|
|
|
|
{
|
|
|
|
id: "Description",
|
|
|
|
component: "Description",
|
|
|
|
title: "Description",
|
2025-04-07 02:32:58 +00:00
|
|
|
params: { icon: "FileTextIcon" },
|
2025-04-06 09:34:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "Solutions",
|
|
|
|
component: "Solutions",
|
|
|
|
title: "Solutions",
|
2025-04-07 02:32:58 +00:00
|
|
|
params: { icon: "FlaskConicalIcon" },
|
2025-04-06 10:17:58 +00:00
|
|
|
position: {
|
|
|
|
referencePanel: "Description",
|
2025-04-07 02:32:58 +00:00
|
|
|
direction: "within",
|
2025-04-06 10:17:58 +00:00
|
|
|
},
|
2025-04-06 12:38:51 +00:00
|
|
|
inactive: true,
|
2025-04-06 09:34:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "Submissions",
|
|
|
|
component: "Submissions",
|
|
|
|
title: "Submissions",
|
2025-04-07 02:32:58 +00:00
|
|
|
params: { icon: "CircleCheckBigIcon" },
|
2025-04-06 10:17:58 +00:00
|
|
|
position: {
|
|
|
|
referencePanel: "Solutions",
|
2025-04-07 02:32:58 +00:00
|
|
|
direction: "within",
|
2025-04-06 10:17:58 +00:00
|
|
|
},
|
2025-04-06 12:38:51 +00:00
|
|
|
inactive: true,
|
2025-04-06 09:34:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "Code",
|
|
|
|
component: "Code",
|
|
|
|
title: "Code",
|
2025-04-07 02:32:58 +00:00
|
|
|
params: { icon: "SquarePenIcon" },
|
2025-04-06 10:17:58 +00:00
|
|
|
position: {
|
|
|
|
referencePanel: "Submissions",
|
2025-04-07 02:32:58 +00:00
|
|
|
direction: "right",
|
2025-04-06 10:17:58 +00:00
|
|
|
},
|
2025-04-06 09:34:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "Bot",
|
|
|
|
component: "Bot",
|
|
|
|
title: "Bot",
|
2025-04-07 02:32:58 +00:00
|
|
|
params: { icon: "BotIcon" },
|
2025-04-06 10:17:58 +00:00
|
|
|
position: {
|
|
|
|
referencePanel: "Code",
|
2025-04-07 02:32:58 +00:00
|
|
|
direction: "right",
|
2025-04-06 10:17:58 +00:00
|
|
|
},
|
2025-04-06 09:34:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "Testcase",
|
|
|
|
component: "Testcase",
|
|
|
|
title: "Testcase",
|
2025-04-07 02:32:58 +00:00
|
|
|
params: { icon: "SquareCheckIcon" },
|
2025-04-06 10:17:58 +00:00
|
|
|
position: {
|
|
|
|
referencePanel: "Code",
|
2025-04-07 02:32:58 +00:00
|
|
|
direction: "below",
|
2025-04-06 10:17:58 +00:00
|
|
|
},
|
2025-04-06 09:34:07 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
id: "TestResult",
|
|
|
|
component: "TestResult",
|
|
|
|
title: "Test Result",
|
2025-04-07 02:32:58 +00:00
|
|
|
params: { icon: "TerminalIcon" },
|
2025-04-06 10:17:58 +00:00
|
|
|
position: {
|
|
|
|
referencePanel: "Testcase",
|
2025-04-07 02:32:58 +00:00
|
|
|
direction: "within",
|
2025-04-06 10:17:58 +00:00
|
|
|
},
|
2025-04-06 12:38:51 +00:00
|
|
|
inactive: true,
|
2025-04-06 09:34:07 +00:00
|
|
|
},
|
|
|
|
]}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
}
|