diff --git a/src/libs/actions/ReimbursementAccount/resetFreePlanBankAccount.js b/src/libs/actions/ReimbursementAccount/resetFreePlanBankAccount.js index edb169fc96aa..388010e99569 100644 --- a/src/libs/actions/ReimbursementAccount/resetFreePlanBankAccount.js +++ b/src/libs/actions/ReimbursementAccount/resetFreePlanBankAccount.js @@ -1,20 +1,20 @@ import Onyx from 'react-native-onyx'; import CONST from '../../../CONST'; import ONYXKEYS from '../../../ONYXKEYS'; -import * as store from './store'; import * as API from '../../API'; import * as PlaidDataProps from '../../../pages/ReimbursementAccount/plaidDataPropTypes'; import * as ReimbursementAccountProps from '../../../pages/ReimbursementAccount/reimbursementAccountPropTypes'; /** * Reset user's reimbursement account. This will delete the bank account. - * @param {number} bankAccountID + * @param {Number} bankAccountID + * @param {Object} session */ -function resetFreePlanBankAccount(bankAccountID) { +function resetFreePlanBankAccount(bankAccountID, session) { if (!bankAccountID) { throw new Error('Missing bankAccountID when attempting to reset free plan bank account'); } - if (!store.getCredentials() || !store.getCredentials().login) { + if (!session.email) { throw new Error('Missing credentials when attempting to reset free plan bank account'); } @@ -22,7 +22,7 @@ function resetFreePlanBankAccount(bankAccountID) { 'RestartBankAccountSetup', { bankAccountID, - ownerEmail: store.getCredentials().login, + ownerEmail: session.email, }, { optimisticData: [ diff --git a/src/pages/workspace/WorkspaceResetBankAccountModal.js b/src/pages/workspace/WorkspaceResetBankAccountModal.js index d790a2503185..ff7bcb51e939 100644 --- a/src/pages/workspace/WorkspaceResetBankAccountModal.js +++ b/src/pages/workspace/WorkspaceResetBankAccountModal.js @@ -1,45 +1,53 @@ import lodashGet from 'lodash/get'; import React from 'react'; +import PropTypes from 'prop-types'; +import {withOnyx} from 'react-native-onyx'; import ConfirmModal from '../../components/ConfirmModal'; import * as BankAccounts from '../../libs/actions/BankAccounts'; -import withLocalize, {withLocalizePropTypes} from '../../components/withLocalize'; import * as ReimbursementAccountProps from '../ReimbursementAccount/reimbursementAccountPropTypes'; import Text from '../../components/Text'; import styles from '../../styles/styles'; import BankAccount from '../../libs/models/BankAccount'; +import ONYXKEYS from '../../ONYXKEYS'; +import useLocalize from '../../hooks/useLocalize'; const propTypes = { /** Reimbursement account data */ reimbursementAccount: ReimbursementAccountProps.reimbursementAccountPropTypes.isRequired, - ...withLocalizePropTypes, + /** Session info for the currently logged in user. */ + session: PropTypes.shape({ + /** Currently logged in user email */ + email: PropTypes.string, + }).isRequired, }; -function WorkspaceResetBankAccountModal(props) { - const achData = lodashGet(props.reimbursementAccount, 'achData') || {}; +function WorkspaceResetBankAccountModal({reimbursementAccount, session}) { + const {translate} = useLocalize(); + const achData = lodashGet(reimbursementAccount, 'achData') || {}; const isInOpenState = achData.state === BankAccount.STATE.OPEN; const bankAccountID = achData.bankAccountID; const bankShortName = `${achData.addressName || ''} ${(achData.accountNumber || '').slice(-4)}`; return ( - {props.translate('workspace.bankAccount.disconnectYour')} + {translate('workspace.bankAccount.disconnectYour')} {bankShortName} - {props.translate('workspace.bankAccount.bankAccountAnyTransactions')} + {translate('workspace.bankAccount.bankAccountAnyTransactions')} ) : ( - props.translate('workspace.bankAccount.clearProgress') + translate('workspace.bankAccount.clearProgress') ) } danger onCancel={BankAccounts.cancelResetFreePlanBankAccount} - onConfirm={() => BankAccounts.resetFreePlanBankAccount(bankAccountID)} + onConfirm={() => BankAccounts.resetFreePlanBankAccount(bankAccountID, session)} shouldShowCancelButton isVisible /> @@ -49,4 +57,8 @@ function WorkspaceResetBankAccountModal(props) { WorkspaceResetBankAccountModal.displayName = 'WorkspaceResetBankAccountModal'; WorkspaceResetBankAccountModal.propTypes = propTypes; -export default withLocalize(WorkspaceResetBankAccountModal); +export default withOnyx({ + session: { + key: ONYXKEYS.SESSION, + }, +})(WorkspaceResetBankAccountModal);