tldraw
Version:
A tiny little drawing editor.
33 lines (32 loc) • 1.34 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import { LANGUAGES, useMaybeEditor, useValue } from "@tldraw/editor";
import { useUiEvents } from "../context/events.mjs";
import { TldrawUiMenuCheckboxItem } from "./primitives/menus/TldrawUiMenuCheckboxItem.mjs";
import { TldrawUiMenuGroup } from "./primitives/menus/TldrawUiMenuGroup.mjs";
import { TldrawUiMenuSubmenu } from "./primitives/menus/TldrawUiMenuSubmenu.mjs";
function LanguageMenu() {
const editor = useMaybeEditor();
const trackEvent = useUiEvents();
const currentLanguage = useValue("locale", () => editor?.user.getLocale(), [editor]);
if (!editor) return null;
return /* @__PURE__ */ jsx(TldrawUiMenuSubmenu, { id: "help menu language", label: "menu.language", children: /* @__PURE__ */ jsx(TldrawUiMenuGroup, { id: "languages", className: "tlui-language-menu", children: LANGUAGES.map(({ locale, label }) => /* @__PURE__ */ jsx(
TldrawUiMenuCheckboxItem,
{
id: `language-${locale}`,
lang: locale,
title: locale,
label,
checked: locale === currentLanguage,
readonlyOk: true,
onSelect: () => {
editor.user.updateUserPreferences({ locale });
trackEvent("change-language", { source: "menu", locale });
}
},
locale
)) }) });
}
export {
LanguageMenu
};
//# sourceMappingURL=LanguageMenu.mjs.map