LanguageList.tsx 786 B

1234567891011121314151617181920212223242526
  1. import { useSetAtom } from "jotai";
  2. import React from "react";
  3. import { appLangCodeAtom } from "../App";
  4. import { useI18n } from "../../packages/excalidraw/i18n";
  5. import { languages } from "../../packages/excalidraw/i18n";
  6. export const LanguageList = ({ style }: { style?: React.CSSProperties }) => {
  7. const { t, langCode } = useI18n();
  8. const setLangCode = useSetAtom(appLangCodeAtom);
  9. return (
  10. <select
  11. className="dropdown-select dropdown-select__language"
  12. onChange={({ target }) => setLangCode(target.value)}
  13. value={langCode}
  14. aria-label={t("buttons.selectLanguage")}
  15. style={style}
  16. >
  17. {languages.map((lang) => (
  18. <option key={lang.code} value={lang.code}>
  19. {lang.label}
  20. </option>
  21. ))}
  22. </select>
  23. );
  24. };