import { Select, Switch, Option } from "@mui/joy"; import React from "react"; import { useTranslation } from "react-i18next"; import { useGlobalStore, useUserStore } from "../../store/module"; import { VISIBILITY_SELECTOR_ITEMS, MEMO_DISPLAY_TS_OPTION_SELECTOR_ITEMS } from "../../helpers/consts"; import AppearanceSelect from "../AppearanceSelect"; import LocaleSelect from "../LocaleSelect"; import "../../less/settings/preferences-section.less"; const PreferencesSection = () => { const { t } = useTranslation(); const globalStore = useGlobalStore(); const userStore = useUserStore(); const { appearance, locale } = globalStore.state; const { setting, localSetting } = userStore.state.user as User; const visibilitySelectorItems = VISIBILITY_SELECTOR_ITEMS.map((item) => { return { value: item.value, text: t(`memo.visibility.${item.text.toLowerCase()}`), }; }); const memoDisplayTsOptionSelectorItems = MEMO_DISPLAY_TS_OPTION_SELECTOR_ITEMS.map((item) => { return { value: item.value, text: t(`setting.preference-section.${item.value}`), }; }); const handleLocaleSelectChange = async (locale: Locale) => { await userStore.upsertUserSetting("locale", locale); globalStore.setLocale(locale); }; const handleAppearanceSelectChange = async (appearance: Appearance) => { await userStore.upsertUserSetting("appearance", appearance); globalStore.setAppearance(appearance); }; const handleDefaultMemoVisibilityChanged = async (value: string) => { await userStore.upsertUserSetting("memoVisibility", value); }; const handleMemoDisplayTsOptionChanged = async (value: string) => { await userStore.upsertUserSetting("memoDisplayTsOption", value); }; const handleIsFoldingEnabledChanged = (event: React.ChangeEvent) => { userStore.upsertLocalSetting({ ...localSetting, enableFoldMemo: event.target.checked }); }; const handlePowerfulEditorEnabledChanged = (event: React.ChangeEvent) => { userStore.upsertLocalSetting({ ...localSetting, enablePowerfulEditor: event.target.checked }); }; const handleDoubleClickEnabledChanged = (event: React.ChangeEvent) => { userStore.upsertLocalSetting({ ...localSetting, enableDoubleClickEditing: event.target.checked }); }; return (

{t("common.basic")}

{t("common.language")}
{t("setting.preference-section.theme")}

{t("setting.preference")}

{t("setting.preference-section.default-memo-visibility")}
); }; export default PreferencesSection;