aboutsummaryrefslogtreecommitdiffstats
path: root/excalidraw-app/app-language/LanguageList.tsx
diff options
context:
space:
mode:
authorkj_sh6042026-03-15 16:19:35 -0400
committerkj_sh6042026-03-15 16:19:35 -0400
commitbfc2cec7d43eb8eaa46dd3f91084932381257059 (patch)
tree0857e3aac2cff922826d4871ff54536b26fad6fc /excalidraw-app/app-language/LanguageList.tsx
parent225db4a7805befe009fe055fc2ef5daedd6c04f9 (diff)
refactor: excalidraw-app/
Diffstat (limited to 'excalidraw-app/app-language/LanguageList.tsx')
-rw-r--r--excalidraw-app/app-language/LanguageList.tsx25
1 files changed, 25 insertions, 0 deletions
diff --git a/excalidraw-app/app-language/LanguageList.tsx b/excalidraw-app/app-language/LanguageList.tsx
new file mode 100644
index 0000000..001d4ea
--- /dev/null
+++ b/excalidraw-app/app-language/LanguageList.tsx
@@ -0,0 +1,25 @@
+import React from "react";
+import { useI18n, languages } from "@excalidraw/excalidraw/i18n";
+import { useSetAtom } from "../app-jotai";
+import { appLangCodeAtom } from "./language-state";
+
+export const LanguageList = ({ style }: { style?: React.CSSProperties }) => {
+ const { t, langCode } = useI18n();
+ const setLangCode = useSetAtom(appLangCodeAtom);
+
+ return (
+ <select
+ className="dropdown-select dropdown-select__language"
+ onChange={({ target }) => setLangCode(target.value)}
+ value={langCode}
+ aria-label={t("buttons.selectLanguage")}
+ style={style}
+ >
+ {languages.map((lang) => (
+ <option key={lang.code} value={lang.code}>
+ {lang.label}
+ </option>
+ ))}
+ </select>
+ );
+};