import React from 'react'; import { useTranslation, i18n } from 'next-i18next'; import { i18n as i18nConfig } from '^/config/next-i18next.config'; import { toastSuccess, toastError } from '~/client/util/toastr'; import { useRegistrationWhitelist } from '~/stores/context'; import { usePersonalSettings } from '~/stores/personal-settings'; export const BasicInfoSettings = (): JSX.Element => { const { t } = useTranslation(); const { data: registrationWhitelist } = useRegistrationWhitelist(); const { data: personalSettingsInfo, mutate: mutatePersonalSettings, sync, updateBasicInfo, error, } = usePersonalSettings(); const submitHandler = async() => { try { await updateBasicInfo(); sync(); toastSuccess(t('toaster.update_successed', { target: t('Basic Info'), ns: 'commons' })); } catch (errs) { const err = errs[0]; const message = err.message; const code = err.code; if (code === 'email-is-already-in-use') { toastError(t('alert.email_is_already_in_use', { ns: 'commons' })); } else { toastError(message); } } }; const changePersonalSettingsHandler = (updateData) => { if (personalSettingsInfo == null) { return; } mutatePersonalSettings({ ...personalSettingsInfo, ...updateData }); }; return ( <>
{data}