import React, { useCallback } from 'react'; import dateFnsFormat from 'date-fns/format'; import { useTranslation } from 'next-i18next'; import AdminExternalAccountsContainer from '~/client/services/AdminExternalAccountsContainer'; import { toastSuccess, toastError } from '~/client/util/apiNotification'; import { withUnstatedContainers } from '../../UnstatedUtils'; type ExternalAccountTableProps = { adminExternalAccountsContainer: any, } const ExternalAccountTable = (props: ExternalAccountTableProps): JSX.Element => { const { t } = useTranslation(); const { adminExternalAccountsContainer } = props; const removeExtenalAccount = useCallback(async(externalAccountId) => { try { const accountId = await adminExternalAccountsContainer.removeExternalAccountById(externalAccountId); toastSuccess(t('toaster.remove_external_user_success', { accountId })); } catch (err) { toastError(err); } }, [adminExternalAccountsContainer, t]); return ( <> { adminExternalAccountsContainer.state.externalAccounts.map((ea) => { return ( ); }) }
{ t('admin:user_management.authentication_provider') } accountId { t('admin:user_management.related_username') }username { t('admin:user_management.password_setting') }
{ t('Created') }
{ea.providerType} {ea.accountId} {ea.user.username} {ea.user.password ? ( { t('admin:user_management.set') } ) : ( { t('admin:user_management.unset') } ) } {dateFnsFormat(new Date(ea.createdAt), 'yyyy-MM-dd')}
  • { t('admin:user_management.user_table.edit_menu') }
); }; const ExternalAccountTableWrapperFC = (props) => { return ; }; export const ExternalAccountTableWrapper = withUnstatedContainers(ExternalAccountTableWrapperFC, [AdminExternalAccountsContainer]);