diff --git a/src/components/features/playground/workspace/editor/components/language-selector.tsx b/src/components/features/playground/workspace/editor/components/language-selector.tsx
deleted file mode 100644
index c7f5f98..0000000
--- a/src/components/features/playground/workspace/editor/components/language-selector.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-"use client";
-
-import {
- Select,
- SelectContent,
- SelectItem,
- SelectTrigger,
- SelectValue,
-} from "@/components/ui/select";
-import { Loading } from "@/components/loading";
-import { useProblem } from "@/hooks/use-problem";
-import { EditorLanguageIcons } from "@/config/editor-language-icons";
-
-export function LanguageSelector() {
- const { hydrated, currentLang, changeLang, editorLanguageConfigs } = useProblem();
-
- if (!hydrated) {
- return ;
- }
-
- return (
-
- );
-}
diff --git a/src/features/problems/code/components/toolbar/controls/language-selector.tsx b/src/features/problems/code/components/toolbar/controls/language-selector.tsx
new file mode 100644
index 0000000..bbf7734
--- /dev/null
+++ b/src/features/problems/code/components/toolbar/controls/language-selector.tsx
@@ -0,0 +1,54 @@
+"use client";
+
+import {
+ Select,
+ SelectContent,
+ SelectItem,
+ SelectTrigger,
+ SelectValue,
+} from "@/components/ui/select";
+import { Language } from "@/generated/client";
+import { LANGUAGES } from "@/config/language";
+import COriginal from "devicons-react/icons/COriginal";
+import { useProblemEditorStore } from "@/stores/problem-editor";
+import CplusplusOriginal from "devicons-react/icons/CplusplusOriginal";
+
+const getIconForLanguage = (language: Language) => {
+ switch (language) {
+ case Language.c:
+ return ;
+ case Language.cpp:
+ return ;
+ }
+};
+
+const getLabelForLanguage = (language: Language) => {
+ switch (language) {
+ case Language.c:
+ return "C";
+ case Language.cpp:
+ return "C++";
+ }
+};
+
+export const LanguageSelector = () => {
+ const { language, setLanguage } = useProblemEditorStore();
+
+ return (
+
+ );
+};
diff --git a/src/features/problems/code/components/toolbar/index.ts b/src/features/problems/code/components/toolbar/index.ts
index 4ce7274..6205c5c 100644
--- a/src/features/problems/code/components/toolbar/index.ts
+++ b/src/features/problems/code/components/toolbar/index.ts
@@ -3,3 +3,4 @@ export * from "./actions/format-button";
export * from "./actions/redo-button";
export * from "./actions/reset-button";
export * from "./actions/undo-button";
+export * from "./controls/language-selector";