import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import { useTranslation } from 'next-i18next'; import AppContainer from '~/client/services/AppContainer'; 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 (