diff --git a/src/components/features/playground/workspace/editor/components/language-selector.tsx b/src/components/features/playground/workspace/editor/components/language-selector.tsx
index 45288d5..5b37525 100644
--- a/src/components/features/playground/workspace/editor/components/language-selector.tsx
+++ b/src/components/features/playground/workspace/editor/components/language-selector.tsx
@@ -7,41 +7,14 @@ import {
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
-import { getPath } from "@/lib/utils";
-import { Skeleton } from "@/components/ui/skeleton";
-import { useCodeEditorStore } from "@/store/useCodeEditorStore";
+import { useProblemEditor } from "@/hooks/use-problem-editor";
import { EditorLanguageIcons } from "@/config/editor-language-icons";
-import { EditorLanguage, EditorLanguageConfig, LanguageServerConfig } from "@prisma/client";
-interface LanguageSelectorProps {
- editorLanguageConfigs: EditorLanguageConfig[];
- languageServerConfigs: LanguageServerConfig[];
-}
-
-export default function LanguageSelector({
- editorLanguageConfigs,
- languageServerConfigs,
-}: LanguageSelectorProps) {
- const { hydrated, language, setLanguage, setPath, setLspConfig } = useCodeEditorStore();
-
- if (!hydrated) {
- return ;
- }
-
- const handleValueChange = (lang: EditorLanguage) => {
- setLanguage(lang);
- const selectedEditorLanguageConfig = editorLanguageConfigs.find(
- (config) => config.language === lang
- );
- const selectedLanguageServerConfig = languageServerConfigs.find(
- (config) => config.language === lang
- );
- setPath(selectedEditorLanguageConfig ? getPath(selectedEditorLanguageConfig) : "");
- setLspConfig(selectedLanguageServerConfig || null);
- };
+export default function LanguageSelector() {
+ const { currentLang, changeLang, editorLanguageConfigs } = useProblemEditor();
return (
-