diff --git a/apps/client/src/widgets/ribbon/BasicPropertiesTab.tsx b/apps/client/src/widgets/ribbon/BasicPropertiesTab.tsx
index ce01fa3d8..d5e3332c1 100644
--- a/apps/client/src/widgets/ribbon/BasicPropertiesTab.tsx
+++ b/apps/client/src/widgets/ribbon/BasicPropertiesTab.tsx
@@ -15,11 +15,11 @@ import FormDropdownList from "../react/FormDropdownList";
import toast from "../../services/toast";
import branches from "../../services/branches";
import sync from "../../services/sync";
-import appContext from "../../components/app_context";
import HelpButton from "../react/HelpButton";
import { TabContext } from "./ribbon-interface";
import Modal from "../react/Modal";
import { CodeMimeTypesList } from "../type_widgets/options/code_notes";
+import { ContentLanguagesList } from "../type_widgets/options/i18n";
export default function BasicPropertiesTab({ note }: TabContext) {
return (
@@ -292,6 +292,7 @@ function NoteLanguageSwitch({ note }: { note?: FNote | null }) {
};
const [ currentNoteLanguage, setCurrentNoteLanguage ] = useNoteLabel(note, "language");
+ const [ modalShown, setModalShown ] = useState(false);
const locales = useMemo(() => {
const enabledLanguages = JSON.parse(languages ?? "[]") as string[];
@@ -348,14 +349,20 @@ function NoteLanguageSwitch({ note }: { note?: FNote | null }) {
})}
{
- e.stopPropagation();
- appContext.tabManager.openContextWithNote("_optionsLocalization", { activate: true });
- }}
+ onClick={() => setModalShown(true)}
>{t("note_language.configure-languages")}
+
+ setModalShown(false)}
+ size="lg" scrollable
+ >
+
+
)
}
diff --git a/apps/client/src/widgets/type_widgets/options/i18n.tsx b/apps/client/src/widgets/type_widgets/options/i18n.tsx
index 1a37297eb..309f164bb 100644
--- a/apps/client/src/widgets/type_widgets/options/i18n.tsx
+++ b/apps/client/src/widgets/type_widgets/options/i18n.tsx
@@ -118,18 +118,25 @@ function DateSettings() {
}
function ContentLanguages() {
- const locales = useMemo(() => getAvailableLocales(), []);
- const [ languages, setLanguages ] = useTriliumOptionJson("languages");
-
return (
{t("content_language.description")}
-
+
);
+}
+
+export function ContentLanguagesList() {
+ const locales = useMemo(() => getAvailableLocales(), []);
+ const [ languages, setLanguages ] = useTriliumOptionJson("languages");
+
+ return (
+
+ );
}
\ No newline at end of file