From 6bd3a44d8d64504295cc913c1ce4243a696bf4c3 Mon Sep 17 00:00:00 2001 From: cfngc4594 Date: Thu, 20 Mar 2025 13:25:47 +0800 Subject: [PATCH] refactor(language-selector): update to use useProblemEditor hook --- .../editor/components/language-selector.tsx | 35 +++---------------- 1 file changed, 4 insertions(+), 31 deletions(-) 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 ( -