import { useTranslation } from "react-i18next"; import Switch from "@mui/joy/Switch"; import { globalService, userService } from "../../services"; import { useAppSelector } from "../../store"; import { VISIBILITY_SELECTOR_ITEMS, MEMO_DISPLAY_TS_OPTION_SELECTOR_ITEMS, SETTING_IS_FOLDING_ENABLED_KEY, IS_FOLDING_ENABLED_DEFAULT_VALUE, } from "../../helpers/consts"; import useLocalStorage from "../../hooks/useLocalStorage"; import Selector from "../common/Selector"; import "../../less/settings/preferences-section.less"; const localeSelectorItems = [ { text: "English", value: "en", }, { text: "中文", value: "zh", }, { text: "Tiếng Việt", value: "vi", }, ]; const PreferencesSection = () => { const { t } = useTranslation(); const { setting } = useAppSelector((state) => state.user.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 [isFoldingEnabled, setIsFoldingEnabled] = useLocalStorage(SETTING_IS_FOLDING_ENABLED_KEY, IS_FOLDING_ENABLED_DEFAULT_VALUE); const handleLocaleChanged = async (value: string) => { await userService.upsertUserSetting("locale", value); globalService.setLocale(value as Locale); }; const handleDefaultMemoVisibilityChanged = async (value: string) => { await userService.upsertUserSetting("memoVisibility", value); }; const handleMemoDisplayTsOptionChanged = async (value: string) => { await userService.upsertUserSetting("memoDisplayTsOption", value); }; const handleIsFoldingEnabledChanged = (event: React.ChangeEvent) => { setIsFoldingEnabled(event.target.checked); }; return (

{t("common.basic")}

{t("setting.preference")}

); }; export default PreferencesSection;