summaryrefslogtreecommitdiffstats
path: root/excalidraw-app/app-language/LanguageList.tsx
diff options
context:
space:
mode:
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>
+ );
+};