import React, { Fragment } from 'react';
import { useTranslation } from 'next-i18next';
import PropTypes from 'prop-types';
import { useSWRxPersonalExternalAccounts } from '~/stores/personal-settings';
import { withUnstatedContainers } from '../UnstatedUtils';
import AssociateModal from './AssociateModal';
import DisassociateModal from './DisassociateModal';
import ExternalAccountRow from './ExternalAccountRow';
class ExternalAccountLinkedMe extends React.Component {
constructor(props) {
super(props);
this.state = {
isAssociateModalOpen: false,
isDisassociateModalOpen: false,
accountForDisassociate: null,
};
this.openAssociateModal = this.openAssociateModal.bind(this);
this.closeAssociateModal = this.closeAssociateModal.bind(this);
this.openDisassociateModal = this.openDisassociateModal.bind(this);
this.closeDisassociateModal = this.closeDisassociateModal.bind(this);
}
openAssociateModal() {
this.setState({ isAssociateModalOpen: true });
}
closeAssociateModal() {
this.setState({ isAssociateModalOpen: false });
}
/**
* open disassociate modal, and props account
* @param {object} account
*/
openDisassociateModal(account) {
this.setState({
isDisassociateModalOpen: true,
accountForDisassociate: account,
});
}
closeDisassociateModal() {
this.setState({ isDisassociateModalOpen: false });
}
render() {
const { t, personalExternalAccounts } = this.props;
return (
{ t('admin:user_management.external_accounts') }
| { t('admin:user_management.authentication_provider') } |
accountId
|
{ t('Created') } |
{ t('Admin') } |
{personalExternalAccounts != null && personalExternalAccounts.length > 0 && personalExternalAccounts.map(account => (
))}
{this.state.accountForDisassociate != null
&& (
)}
);
}
}
ExternalAccountLinkedMe.propTypes = {
t: PropTypes.func.isRequired, // i18next
personalExternalAccounts: PropTypes.arrayOf(PropTypes.object),
};
const ExternalAccountLinkedMeWrapperFC = (props) => {
const { t } = useTranslation();
const { data: personalExternalAccountsData } = useSWRxPersonalExternalAccounts();
return ;
};
export default ExternalAccountLinkedMeWrapperFC;