diff --git a/src/app/(app)/playground/@problem/@description/layout.tsx b/src/app/(app)/playground/@problem/@description/layout.tsx
deleted file mode 100644
index e23f49f..0000000
--- a/src/app/(app)/playground/@problem/@description/layout.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-// import ProblemDescriptionFooter from "@/features/playground/problem/description/footer";
-
-interface ProblemDescriptionLayoutProps {
- children: React.ReactNode;
-}
-
-export default function ProblemDescriptionLayout({
- children,
-}: ProblemDescriptionLayoutProps) {
- return (
-
-
- {children}
-
- {/*
*/}
-
- );
-}
diff --git a/src/app/(app)/playground/@problem/@description/page.tsx b/src/app/(app)/playground/@problem/@description/page.tsx
deleted file mode 100644
index 7ef0a48..0000000
--- a/src/app/(app)/playground/@problem/@description/page.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-import MdxPreview from "@/components/mdx-preview";
-import { DEFAULT_PROBLEM_DESCRIPTION } from "@/config/problem/description";
-
-export default function ProblemDescriptionPage() {
- return ;
-}
diff --git a/src/app/(app)/playground/@problem/@solution/components/footer.tsx b/src/app/(app)/playground/@problem/@solution/components/footer.tsx
deleted file mode 100644
index c929b81..0000000
--- a/src/app/(app)/playground/@problem/@solution/components/footer.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { cn } from "@/lib/utils";
-
-interface ProblemSolutionFooterProps {
- className?: string;
-}
-
-export default function ProblemSolutionFooter({
- className,
- ...props
-}: ProblemSolutionFooterProps) {
- return (
-
- );
-}
diff --git a/src/app/(app)/playground/@problem/@solution/layout.tsx b/src/app/(app)/playground/@problem/@solution/layout.tsx
deleted file mode 100644
index c5803d7..0000000
--- a/src/app/(app)/playground/@problem/@solution/layout.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import ProblemSolutionFooter from "./components/footer";
-
-interface ProblemSolutionLayoutProps {
- children: React.ReactNode;
-}
-
-export default function ProblemSolutionLayout({
- children,
-}: ProblemSolutionLayoutProps) {
- return (
-
- );
-}
diff --git a/src/app/(app)/playground/@problem/@solution/page.tsx b/src/app/(app)/playground/@problem/@solution/page.tsx
deleted file mode 100644
index bd33438..0000000
--- a/src/app/(app)/playground/@problem/@solution/page.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-import MdxPreview from "@/components/mdx-preview";
-import { DEFAULT_PROBLEM_SOLUTION } from "@/config/problem/solution";
-
-export default function ProblemSolutionPage() {
- return ;
-}
diff --git a/src/app/(app)/playground/@problem/@submission/components/footer.tsx b/src/app/(app)/playground/@problem/@submission/components/footer.tsx
deleted file mode 100644
index f3fc0a7..0000000
--- a/src/app/(app)/playground/@problem/@submission/components/footer.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { cn } from "@/lib/utils";
-
-interface ProblemSubmissionFooterProps {
- className?: string;
-}
-
-export default function ProblemSubmissionFooter({
- className,
- ...props
-}: ProblemSubmissionFooterProps) {
- return (
-
- );
-}
diff --git a/src/app/(app)/playground/@problem/@submission/layout.tsx b/src/app/(app)/playground/@problem/@submission/layout.tsx
deleted file mode 100644
index 438f5e3..0000000
--- a/src/app/(app)/playground/@problem/@submission/layout.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import ProblemSubmissionFooter from "./components/footer";
-
-interface ProblemSubmissionLayoutProps {
- children: React.ReactNode;
-}
-
-export default function ProblemSubmissionLayout({
- children,
-}: ProblemSubmissionLayoutProps) {
- return (
-
- );
-}
diff --git a/src/app/(app)/playground/@problem/@submission/page.tsx b/src/app/(app)/playground/@problem/@submission/page.tsx
deleted file mode 100644
index 8e9b801..0000000
--- a/src/app/(app)/playground/@problem/@submission/page.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-"use client";
-
-import { useMemo } from 'react';
-import MdxPreview from "@/components/mdx-preview";
-import { useCodeEditorStore } from "@/store/useCodeEditorStore";
-
-export default function ProblemSubmissionPage() {
- const { result } = useCodeEditorStore();
- const { exitCode, output, executionTime, memoryUsage } = result || {};
-
- const template = useMemo(() => {
- return `
- ${exitCode || ""}
- \`\`\`bash
- ${output || ""}
- \`\`\`
- ${executionTime || ""}
- ${memoryUsage || ""}
- `;
- }, [exitCode, output, executionTime, memoryUsage]);
-
- return ;
-}
diff --git a/src/app/(app)/playground/@problem/layout.tsx b/src/app/(app)/playground/@problem/layout.tsx
deleted file mode 100644
index 2d93f1e..0000000
--- a/src/app/(app)/playground/@problem/layout.tsx
+++ /dev/null
@@ -1,85 +0,0 @@
-"use client";
-
-import { Skeleton } from "@/components/ui/skeleton";
-import { useTabsStore } from "@/store/useTabsStore";
-import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area";
-import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
-import { CircleCheckBigIcon, FileTextIcon, FlaskConicalIcon } from "lucide-react";
-
-interface ProblemLayoutProps {
- description: React.ReactNode;
- solution: React.ReactNode;
- submission: React.ReactNode;
-}
-
-export default function ProblemLayout({
- description,
- solution,
- submission,
-}: ProblemLayoutProps) {
- const { hydrated, problemTab, setProblemTab } = useTabsStore();
-
- if (!hydrated) return (
-
-
-
-
-
- )
-
- const handleTabChange = (value: string) => {
- setProblemTab(value);
- };
-
- return (
-
-
-
-
-
- Description
-
-
-
- Solution
-
-
-
- Submission
-
-
-
-
-
- {description}
-
-
- {solution}
-
-
- {submission}
-
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/components/copy-button.tsx b/src/app/(app)/playground/@workspace/@editor/components/copy-button.tsx
deleted file mode 100644
index 375c21c..0000000
--- a/src/app/(app)/playground/@workspace/@editor/components/copy-button.tsx
+++ /dev/null
@@ -1,70 +0,0 @@
-"use client";
-
-import {
- Tooltip,
- TooltipContent,
- TooltipProvider,
- TooltipTrigger,
-} from "@/components/ui/tooltip";
-import { cn } from "@/lib/utils";
-import { useState } from "react";
-import { Check, Copy } from "lucide-react";
-import { Button } from "@/components/ui/button";
-import { useCodeEditorStore } from "@/store/useCodeEditorStore";
-
-export default function CopyButton() {
- const [copied, setCopied] = useState(false);
- const { editor } = useCodeEditorStore();
-
- const handleCopy = async () => {
- try {
- await navigator.clipboard.writeText(editor?.getValue() || "");
- setCopied(true);
- setTimeout(() => setCopied(false), 1500);
- } catch (err) {
- console.error("Failed to copy text: ", err);
- }
- };
-
- return (
-
-
-
-
-
-
- Click to Copy
-
-
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/components/footer.tsx b/src/app/(app)/playground/@workspace/@editor/components/footer.tsx
deleted file mode 100644
index 65bb5b3..0000000
--- a/src/app/(app)/playground/@workspace/@editor/components/footer.tsx
+++ /dev/null
@@ -1,53 +0,0 @@
-"use client";
-
-import { cn } from "@/lib/utils";
-import { useEffect, useState } from "react";
-import { useCodeEditorStore } from "@/store/useCodeEditorStore";
-
-interface WorkspaceEditorFooterProps {
- className?: string;
-}
-
-export default function WorkspaceEditorFooter({
- className,
- ...props
-}: WorkspaceEditorFooterProps) {
- const { editor } = useCodeEditorStore();
- const [position, setPosition] = useState<{ lineNumber: number; column: number } | null>(null);
-
- useEffect(() => {
- if (!editor) return;
-
- const initialPosition = editor.getPosition();
- if (initialPosition) {
- setPosition({
- lineNumber: initialPosition.lineNumber,
- column: initialPosition.column,
- });
- }
-
- const dispose = editor.onDidChangeCursorPosition((e) => {
- setPosition({
- lineNumber: e.position.lineNumber,
- column: e.position.column,
- });
- });
-
- return () => dispose.dispose();
- }, [editor]);
-
- return (
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/components/format-button.tsx b/src/app/(app)/playground/@workspace/@editor/components/format-button.tsx
deleted file mode 100644
index 8179069..0000000
--- a/src/app/(app)/playground/@workspace/@editor/components/format-button.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-"use client";
-
-import {
- Tooltip,
- TooltipContent,
- TooltipProvider,
- TooltipTrigger,
-} from "@/components/ui/tooltip";
-import { Paintbrush } from "lucide-react";
-import { Button } from "@/components/ui/button";
-import { useCodeEditorStore } from "@/store/useCodeEditorStore";
-
-export default function FormatButton() {
- const { editor } = useCodeEditorStore();
-
- return (
-
-
-
-
-
-
- Format Code
-
-
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/components/header.tsx b/src/app/(app)/playground/@workspace/@editor/components/header.tsx
deleted file mode 100644
index 9cd4e03..0000000
--- a/src/app/(app)/playground/@workspace/@editor/components/header.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import { cn } from "@/lib/utils";
-import CopyButton from "./copy-button";
-import RedoButton from "./redo-button";
-import UndoButton from "./undo-button";
-import ResetButton from "./reset-button";
-import FormatButton from "./format-button";
-import LanguageSelector from "./language-selector";
-
-interface WorkspaceEditorHeaderProps {
- className?: string;
-}
-
-export default function WorkspaceEditorHeader({
- className,
- ...props
-}: WorkspaceEditorHeaderProps) {
- return (
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/components/language-selector.tsx b/src/app/(app)/playground/@workspace/@editor/components/language-selector.tsx
deleted file mode 100644
index b149344..0000000
--- a/src/app/(app)/playground/@workspace/@editor/components/language-selector.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-"use client";
-
-import {
- Select,
- SelectContent,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from "@/components/ui/select";
-import { getPath } from "@/lib/utils";
-import { EditorLanguage } from "@prisma/client";
-import { Skeleton } from "@/components/ui/skeleton";
-import LanguageServerConfig from "@/config/language-server";
-import { EditorLanguageConfig } from "@/config/editor-language";
-import { useCodeEditorStore } from "@/store/useCodeEditorStore";
-
-export default function LanguageSelector() {
- const { hydrated, language, setLanguage, setPath, setLspConfig } = useCodeEditorStore();
-
- if (!hydrated) {
- return ;
- }
-
- const handleValueChange = (lang: EditorLanguage) => {
- setLanguage(lang);
- setPath(getPath(lang));
- setLspConfig(LanguageServerConfig[lang]);
- };
-
- return (
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/components/redo-button.tsx b/src/app/(app)/playground/@workspace/@editor/components/redo-button.tsx
deleted file mode 100644
index ba28031..0000000
--- a/src/app/(app)/playground/@workspace/@editor/components/redo-button.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-"use client";
-
-import {
- Tooltip,
- TooltipContent,
- TooltipProvider,
- TooltipTrigger,
-} from "@/components/ui/tooltip";
-import { Redo2 } from "lucide-react";
-import { Button } from "@/components/ui/button";
-import { useCodeEditorStore } from "@/store/useCodeEditorStore";
-
-export default function RedoButton() {
- const { editor } = useCodeEditorStore();
-
- return (
-
-
-
-
-
-
- Redo Code
-
-
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/components/reset-button.tsx b/src/app/(app)/playground/@workspace/@editor/components/reset-button.tsx
deleted file mode 100644
index 9c09037..0000000
--- a/src/app/(app)/playground/@workspace/@editor/components/reset-button.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-"use client";
-
-import {
- Tooltip,
- TooltipContent,
- TooltipProvider,
- TooltipTrigger,
-} from "@/components/ui/tooltip";
-import { RotateCcw } from "lucide-react";
-import { Button } from "@/components/ui/button";
-import { useCodeEditorStore } from "@/store/useCodeEditorStore";
-import { TEMP_DEFAULT_EDITOR_VALUE } from "@/config/problem/value";
-
-export default function ResetButton() {
- const { editor, language } = useCodeEditorStore();
- return (
-
-
-
-
-
-
- Reset Code
-
-
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/components/undo-button.tsx b/src/app/(app)/playground/@workspace/@editor/components/undo-button.tsx
deleted file mode 100644
index 21e607f..0000000
--- a/src/app/(app)/playground/@workspace/@editor/components/undo-button.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-"use client";
-
-import {
- Tooltip,
- TooltipContent,
- TooltipProvider,
- TooltipTrigger,
-} from "@/components/ui/tooltip";
-import { Undo2 } from "lucide-react";
-import { Button } from "@/components/ui/button";
-import { useCodeEditorStore } from "@/store/useCodeEditorStore";
-
-export default function UndoButton() {
- const { editor } = useCodeEditorStore();
-
- return (
-
-
-
-
-
-
- Undo Code
-
-
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/layout.tsx b/src/app/(app)/playground/@workspace/@editor/layout.tsx
deleted file mode 100644
index 4f9d899..0000000
--- a/src/app/(app)/playground/@workspace/@editor/layout.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import WorkspaceEditorHeader from "@/app/(app)/playground/@workspace/@editor/components/header";
-import WorkspaceEditorFooter from "@/app/(app)/playground/@workspace/@editor/components/footer";
-
-interface WorkspaceEditorLayoutProps {
- children: React.ReactNode;
-}
-
-export default function WorkspaceEditorLayout({
- children,
-}: WorkspaceEditorLayoutProps) {
- return (
-
- );
-}
diff --git a/src/app/(app)/playground/@workspace/@editor/page.tsx b/src/app/(app)/playground/@workspace/@editor/page.tsx
deleted file mode 100644
index d863301..0000000
--- a/src/app/(app)/playground/@workspace/@editor/page.tsx
+++ /dev/null
@@ -1,6 +0,0 @@
-// import CodeEditor from "@/components/code-editor";
-
-export default function WorkspaceEditorPage() {
- // return ;
- return null;
-}
diff --git a/src/app/(app)/playground/@workspace/layout.tsx b/src/app/(app)/playground/@workspace/layout.tsx
deleted file mode 100644
index ed8873a..0000000
--- a/src/app/(app)/playground/@workspace/layout.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-"use client";
-
-import { SquarePenIcon } from "lucide-react";
-import { Skeleton } from "@/components/ui/skeleton";
-import { useTabsStore } from "@/store/useTabsStore";
-import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area";
-import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
-
-interface WorkspaceLayoutProps {
- editor: React.ReactNode;
-}
-
-export default function WorkspaceLayout({ editor }: WorkspaceLayoutProps) {
- const { hydrated, workspaceTab, setWorkspaceTab } = useTabsStore();
-
- if (!hydrated) return (
-
-
-
- )
-
- const handleTabChange = (value: string) => {
- setWorkspaceTab(value);
- };
-
- return (
-
-
-
-
-
- Editor
-
-
-
-
-
- {editor}
-
-
- );
-}
diff --git a/src/app/(app)/playground/layout.tsx b/src/app/(app)/playground/layout.tsx
deleted file mode 100644
index 7355e31..0000000
--- a/src/app/(app)/playground/layout.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import {
- ResizableHandle,
- ResizablePanel,
- ResizablePanelGroup,
-} from "@/components/ui/resizable";
-import { PlaygroundHeader } from "@/features/playground/header";
-
-interface PlaygroundLayoutProps {
- problem: React.ReactNode;
- workspace: React.ReactNode;
-}
-
-export default function PlaygroundLayout({
- problem,
- workspace,
-}: PlaygroundLayoutProps) {
- return (
-
-
-
-
- {problem}
-
-
-
- {workspace}
-
-
-
- );
-}
diff --git a/src/app/(app)/playground/page.tsx b/src/app/(app)/playground/page.tsx
deleted file mode 100644
index a3f4217..0000000
--- a/src/app/(app)/playground/page.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import { redirect } from "next/navigation";
-
-export default function PlaygroundPage() {
- redirect("/problemset");
-}