import React, { useCallback } from 'react'; import type { IAdminExternalAccount } from '@growi/core'; import dateFnsFormat from 'date-fns/format'; import { useTranslation } from 'next-i18next'; import AdminExternalAccountsContainer from '~/client/services/AdminExternalAccountsContainer'; import { toastSuccess, toastError } from '~/client/util/toastr'; import { withUnstatedContainers } from '../../UnstatedUtils'; import styles from './ExternalAccountTable.module.scss'; type ExternalAccountTableProps = { adminExternalAccountsContainer: AdminExternalAccountsContainer, } const ExternalAccountTable = (props: ExternalAccountTableProps): JSX.Element => { const { t } = useTranslation('admin'); 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 (
|
{t('user_management.authentication_provider')}
|
accountId
|
{t('user_management.related_username')}
username
|
{t('user_management.password_setting')}
|
{t('Created')}
|
|
|---|---|---|---|---|---|
| {ea.providerType} | {ea.accountId} | {ea.user.username} | {ea.user.password ? ({t('user_management.set')}) : ({t('user_management.unset')}) } | {dateFnsFormat(new Date(ea.createdAt), 'yyyy-MM-dd')} |
|