2025-05-13 08:37:35 +00:00
|
|
|
import { Suspense } from "react";
|
|
|
|
import {
|
|
|
|
CodeContent,
|
|
|
|
CodeContentSkeleton,
|
|
|
|
} from "@/features/problems/code/components/content";
|
2025-06-20 15:03:23 +00:00
|
|
|
import { PanelLayout } from "@/features/problems/layouts/panel-layout";
|
2025-06-13 06:03:17 +00:00
|
|
|
import { CodeFooter } from "@/features/problems/code/components/footer";
|
2025-05-13 08:37:35 +00:00
|
|
|
import { CodeToolbar } from "@/features/problems/code/components/toolbar/code-toolbar";
|
|
|
|
|
|
|
|
interface CodePanelProps {
|
|
|
|
problemId: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
export const CodePanel = ({ problemId }: CodePanelProps) => {
|
|
|
|
return (
|
2025-06-20 15:03:23 +00:00
|
|
|
<PanelLayout>
|
|
|
|
<div className="h-full flex flex-col">
|
|
|
|
<CodeToolbar className="border-b" />
|
|
|
|
<Suspense fallback={<CodeContentSkeleton />}>
|
|
|
|
<CodeContent problemId={problemId} />
|
|
|
|
</Suspense>
|
|
|
|
<CodeFooter />
|
2025-05-13 08:37:35 +00:00
|
|
|
</div>
|
2025-06-20 15:03:23 +00:00
|
|
|
</PanelLayout>
|
2025-05-13 08:37:35 +00:00
|
|
|
);
|
|
|
|
};
|