import { Button, Divider, Input, Option, Select } from "@mui/joy"; import { useState } from "react"; import { toast } from "react-hot-toast"; import { Link } from "react-router-dom"; import { useGlobalStore } from "@/store/module"; import { useUserStore } from "@/store/v1"; import { Visibility } from "@/types/proto/api/v2/memo_service"; import { UserSetting } from "@/types/proto/api/v2/user_service"; import { useTranslate } from "@/utils/i18n"; import { convertVisibilityFromString, convertVisibilityToString } from "@/utils/memo"; import AppearanceSelect from "../AppearanceSelect"; import Icon from "../Icon"; import LocaleSelect from "../LocaleSelect"; import VisibilityIcon from "../VisibilityIcon"; import WebhookSection from "./WebhookSection"; const PreferencesSection = () => { const t = useTranslate(); const globalStore = useGlobalStore(); const userStore = useUserStore(); const { appearance, locale } = globalStore.state; const setting = userStore.userSetting as UserSetting; const [telegramUserId, setTelegramUserId] = useState(setting.telegramUserId); const handleLocaleSelectChange = async (locale: Locale) => { await userStore.updateUserSetting( { locale, }, ["locale"] ); globalStore.setLocale(locale); }; const handleAppearanceSelectChange = async (appearance: Appearance) => { await userStore.updateUserSetting( { appearance, }, ["appearance"] ); globalStore.setAppearance(appearance); }; const handleDefaultMemoVisibilityChanged = async (value: string) => { await userStore.updateUserSetting( { memoVisibility: value, }, ["memo_visibility"] ); }; const handleSaveTelegramUserId = async () => { try { await userStore.updateUserSetting( { telegramUserId: telegramUserId, }, ["telegram_user_id"] ); toast.success(t("message.update-succeed")); } catch (error: any) { console.error(error); toast.error(error.response.data.message); } }; const handleTelegramUserIdChanged = async (value: string) => { setTelegramUserId(value); }; return (

{t("common.basic")}

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

{t("setting.preference")}

{t("setting.preference-section.default-memo-visibility")}
{t("setting.preference-section.telegram-user-id")}
handleTelegramUserIdChanged(event.target.value)} placeholder={t("setting.preference-section.telegram-user-id-placeholder")} />
{t("common.learn-more")}
); }; export default PreferencesSection;