import React from 'react'; import { useTranslation } from 'next-i18next'; import AppContainer from '~/client/services/AppContainer'; import { toastSuccess, toastError } from '~/client/util/apiNotification'; // import { localeMetadatas } from '~/client/util/i18n'; import { usePersonalSettings } from '~/stores/personal-settings'; import { withUnstatedContainers } from '../UnstatedUtils'; type Props = { appContainer: AppContainer, } const BasicInfoSettings = (props: Props) => { const { t } = useTranslation(); const { appContainer } = props; 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') })); } catch (err) { toastError(err); } }; const { registrationWhiteList } = appContainer.getConfig(); const changePersonalSettingsHandler = (updateData) => { if (personalSettingsInfo == null) { return; } mutatePersonalSettings({ ...personalSettingsInfo, ...updateData }); }; return ( <>
changePersonalSettingsHandler({ name: e.target.value })} />
changePersonalSettingsHandler({ email: e.target.value })} /> {registrationWhiteList.length !== 0 && (
{t('page_register.form_help.email')}
    {registrationWhiteList.map(data =>
  • {data}
  • )}
)}
changePersonalSettingsHandler({ isEmailPublished: true })} />
changePersonalSettingsHandler({ isEmailPublished: false })} />
{/* { localeMetadatas.map(meta => (
changePersonalSettingsHandler({ lang: meta.id })} />
)) } */}
changePersonalSettingsHandler({ slackMemberId: e.target.value })} />
); }; /** * Wrapper component for using unstated */ const BasicInfoSettingsWrapper = withUnstatedContainers(BasicInfoSettings, [AppContainer]); export default BasicInfoSettingsWrapper;