Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
db956bf
Change payer for share
narefyev91 Jan 14, 2026
f899349
fix unshare error view and add latest updates for change payer
narefyev91 Jan 16, 2026
46bdb5d
change during testing
narefyev91 Jan 16, 2026
bae22f3
latest updates
narefyev91 Jan 16, 2026
b1fa576
add missing item
narefyev91 Jan 16, 2026
2f28a1b
Merge branch 'main' into change-payer-for-share
narefyev91 Jan 19, 2026
81d5881
more updates
narefyev91 Jan 19, 2026
083bad4
Merge branch 'main' into change-payer-for-share
narefyev91 Jan 20, 2026
4fe2e16
fix bugs
narefyev91 Jan 20, 2026
b4dd281
change owner detection
narefyev91 Jan 21, 2026
4391718
switch to use bank account data
narefyev91 Jan 22, 2026
ea384be
remove not need item from deps
narefyev91 Jan 22, 2026
95ed551
changes for success flow
narefyev91 Jan 22, 2026
114f912
add state of the bank
narefyev91 Jan 22, 2026
7b5dac3
Merge branch 'main' into change-payer-for-share
narefyev91 Jan 23, 2026
3e0998d
fix condition
narefyev91 Jan 23, 2026
c333591
Merge branch 'main' into change-payer-for-share
narefyev91 Jan 26, 2026
88945ce
c+ review and bug fix
narefyev91 Jan 26, 2026
1695b3e
switch condition
narefyev91 Jan 28, 2026
08d0b60
add changes
narefyev91 Jan 28, 2026
fcef5b0
Merge branch 'refs/heads/main' into change-payer-for-share
narefyev91 Jan 28, 2026
2e444d9
fix after merge
narefyev91 Jan 28, 2026
885359f
add more loggers for debug
narefyev91 Jan 29, 2026
00eed78
add check for states
narefyev91 Jan 29, 2026
a567b88
update condition
narefyev91 Jan 29, 2026
caf1574
remove debug info
narefyev91 Jan 30, 2026
6c8dbfa
fix closing modals
narefyev91 Jan 30, 2026
f608c1f
Merge branch 'main' into change-payer-for-share
narefyev91 Feb 3, 2026
e1b2e62
Merge branch 'main' into change-payer-for-share
narefyev91 Feb 12, 2026
42c028f
use policy shares to check for main bank account
narefyev91 Feb 12, 2026
c34f4f1
Merge branch 'refs/heads/main' into change-payer-for-share
narefyev91 Feb 17, 2026
ac089e0
add ai comments
narefyev91 Feb 17, 2026
16d59b5
add ai comments
narefyev91 Feb 17, 2026
39db18f
fix AI
narefyev91 Feb 17, 2026
c809720
add bottom padding
narefyev91 Feb 17, 2026
a98086a
Merge branch 'refs/heads/main' into change-payer-for-share
narefyev91 Feb 17, 2026
0df35dd
Merge branch 'refs/heads/main' into change-payer-for-share
narefyev91 Feb 18, 2026
b28cce6
refactor useConfirmModal
narefyev91 Feb 18, 2026
152dd5e
Merge branch 'refs/heads/main' into change-payer-for-share
narefyev91 Feb 19, 2026
a9b7c5d
rollback direct confirm modals
narefyev91 Feb 19, 2026
68b5399
rollback close modal
narefyev91 Feb 19, 2026
3b71376
Merge branch 'refs/heads/main' into change-payer-for-share
narefyev91 Feb 20, 2026
6fbdadd
use new API to share bank and update payer
narefyev91 Feb 20, 2026
a329d08
add word to spell config
narefyev91 Feb 20, 2026
542c220
Merge branch 'refs/heads/main' into change-payer-for-share
narefyev91 Feb 24, 2026
c9fd510
fix checks
narefyev91 Feb 24, 2026
79d2937
Merge branch 'main' into change-payer-for-share
narefyev91 Feb 27, 2026
65c7478
fix prettier
narefyev91 Feb 27, 2026
b3e33f9
Merge branch 'main' into change-payer-for-share
narefyev91 Mar 3, 2026
935690f
Merge branch 'refs/heads/main' into change-payer-for-share
narefyev91 Mar 5, 2026
89e8ca0
change condition
narefyev91 Mar 5, 2026
e04c7dd
Merge branch 'main' into change-payer-for-share
narefyev91 Mar 9, 2026
e5d31fa
Merge branch 'main' into change-payer-for-share
narefyev91 Mar 10, 2026
58ee264
revert condition
narefyev91 Mar 11, 2026
d51721e
revert condition fix overlay
narefyev91 Mar 11, 2026
886143e
Merge branch 'main' into change-payer-for-share
narefyev91 Mar 11, 2026
920544d
fix ts
narefyev91 Mar 11, 2026
f573ef9
use flag to get bank account in setup mode
narefyev91 Mar 12, 2026
16c4afd
Merge branch 'main' into change-payer-for-share
narefyev91 Mar 17, 2026
c7a55bd
add unit tests and small comments
narefyev91 Mar 17, 2026
0388cea
fix eslint
narefyev91 Mar 17, 2026
e35036c
Update src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx
narefyev91 Mar 17, 2026
6b0c1e9
Update src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx
narefyev91 Mar 17, 2026
fc59fc8
Update src/pages/workspace/workflows/WorkspaceWorkflowsPayerPage.tsx
narefyev91 Mar 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -667,6 +667,8 @@
"setuptools",
"shareeEmail",
"Sharees",
"sharee",
"sharees",
"Sharons",
"shellcheck",
"shellenv",
Expand Down
10 changes: 10 additions & 0 deletions src/languages/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2459,6 +2459,16 @@ ${amount} für ${merchant} – ${date}`,
admins: 'Admins',
payer: 'Zahler',
paymentAccount: 'Zahlungskonto',
shareBankAccount: {
shareTitle: 'Bankkontozugriff teilen?',
shareDescription: ({admin}: {admin: string}) => `Sie müssen ${admin} den Bankkontozugriff gewähren, damit dieser als Zahler eingetragen werden kann.`,
validationTitle: 'Bankkonto wartet auf Validierung',
validationDescription: ({admin}: {admin: string}) =>
`Sie müssen <a href="#">dieses Bankkonto validieren</a>. Anschließend können Sie den Zugriff auf das Bankkonto mit ${admin} teilen, um ihn/sie als Zahler festzulegen.`,
errorTitle: 'Zahler kann nicht geändert werden',
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} hat keinen Zugriff auf dieses Bankkonto, daher kann er nicht als Zahler festgelegt werden. <a href="#">Kontaktieren Sie ${owner}</a>, falls das Bankkonto freigegeben werden soll.`,
},
},
reportFraudPage: {
title: 'Virtuelle Kartenbetrugsfälle melden',
Expand Down
10 changes: 10 additions & 0 deletions src/languages/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2500,6 +2500,16 @@ const translations = {
admins: 'Admins',
payer: 'Payer',
paymentAccount: 'Payment account',
shareBankAccount: {
shareTitle: 'Share bank account access?',
shareDescription: ({admin}: {admin: string}) => `You'll need to share bank account access with ${admin} to make them the payer.`,
validationTitle: 'Bank account awaiting validation',
validationDescription: ({admin}: {admin: string}) =>
`You need to <a href="#">validate this bank account</a>. Once that's done, you can share bank account access with ${admin} to make them the payer.`,
errorTitle: "Can't change payer",
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} doesn't have access to this bank account, so you can't make them the payer. <a href="#">Chat with ${owner}</a> if the bank account should be shared.`,
},
},
reportFraudPage: {
title: 'Report virtual card fraud',
Expand Down
10 changes: 10 additions & 0 deletions src/languages/es.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2361,6 +2361,16 @@ ${amount} para ${merchant} - ${date}`,
admins: 'Administradores',
payer: 'Pagador',
paymentAccount: 'Cuenta de pago',
shareBankAccount: {
shareTitle: '¿Compartir acceso a la cuenta bancaria?',
shareDescription: ({admin}: {admin: string}) => `Necesitarás compartir el acceso a la cuenta bancaria con ${admin} para que sea el pagador.`,
validationTitle: 'Cuenta bancaria en espera de validación',
validationDescription: ({admin}: {admin: string}) =>
`Necesitas <a href="#">validar esta cuenta bancaria</a>. Una vez hecho esto, puedes compartir el acceso a la cuenta bancaria con ${admin} para que sea el pagador.`,
errorTitle: 'No se puede cambiar el pagador',
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} no tiene acceso a esta cuenta bancaria, por lo que no puede asignarle el pago. <a href="#">Chatea con ${owner}</a> si la cuenta bancaria debe compartirse.`,
},
},
reportFraudPage: {
title: 'Reportar fraude con la tarjeta virtual',
Expand Down
10 changes: 10 additions & 0 deletions src/languages/fr.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2465,6 +2465,16 @@ ${amount} pour ${merchant} - ${date}`,
admins: 'Administrateurs',
payer: 'Payer',
paymentAccount: 'Compte de paiement',
shareBankAccount: {
shareTitle: "Partager l'accès au compte bancaire?",
shareDescription: ({admin}: {admin: string}) => `Vous devrez partager l'accès au compte bancaire avec ${admin} pour qu'il/elle soit le payeur.`,
validationTitle: 'Compte bancaire en attente de validation',
validationDescription: ({admin}: {admin: string}) =>
`Vous devez <a href="#">valider ce compte bancaire</a>. Une fois cette opération effectuée, vous pourrez partager l'accès au compte bancaire avec ${admin} pour en faire le payeur.`,
errorTitle: 'Impossible de modifier le payeur',
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} n'a pas accès à ce compte bancaire, vous ne pouvez donc pas le désigner comme payeur. <a href="#">Discutez avec ${owner}</a> si le compte bancaire doit être partagé.`,
},
},
reportFraudPage: {
title: 'Signaler une fraude à la carte virtuelle',
Expand Down
10 changes: 10 additions & 0 deletions src/languages/it.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2454,6 +2454,16 @@ ${amount} per ${merchant} - ${date}`,
admins: 'Amministratori',
payer: 'Pagatore',
paymentAccount: 'Conto di pagamento',
shareBankAccount: {
shareTitle: "Condividere l'accesso al conto bancario?",
shareDescription: ({admin}: {admin: string}) => `Dovrai condividere l'accesso al conto bancario con ${admin} per renderlo il pagatore.`,
validationTitle: 'Conto bancario in attesa di convalida',
validationDescription: ({admin}: {admin: string}) =>
`Devi <a href="#">convalidare questo conto bancario</a>. Una volta fatto, puoi condividere l'accesso al conto bancario con ${admin} per renderlo il pagatore.`,
errorTitle: 'Impossibile cambiare il pagatore',
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} non ha accesso a questo conto bancario, quindi non puoi impostarlo come pagatore. <a href="#">Chatta con ${owner}</a> se il conto bancario deve essere condiviso.`,
},
},
reportFraudPage: {
title: 'Segnala frode con carta virtuale',
Expand Down
10 changes: 10 additions & 0 deletions src/languages/ja.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2437,6 +2437,16 @@ ${date} の ${merchant} への ${amount}`,
admins: '管理者',
payer: '支払者',
paymentAccount: '支払口座',
shareBankAccount: {
shareTitle: '銀行口座へのアクセスを共有しますか?',
shareDescription: ({admin}: {admin: string}) => `${admin}を支払人にするには、銀行口座へのアクセスを${admin}と共有する必要があります。`,
validationTitle: '銀行口座の検証待ち',
validationDescription: ({admin}: {admin: string}) =>
`<a href="#">この銀行口座を検証</a>する必要があります。検証が完了すると、銀行口座へのアクセス権を${admin}と共有して、支払人にすることができます。`,
errorTitle: '支払人を変更できません',
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} はこの銀行口座へのアクセス権がないため、支払人に指定できません。銀行口座を共有する必要がある場合は、<a href="#">${owner} とチャットしてください。</a>`,
},
},
reportFraudPage: {
title: 'バーチャルカードの不正利用を報告',
Expand Down
10 changes: 10 additions & 0 deletions src/languages/nl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2452,6 +2452,16 @@ ${amount} voor ${merchant} - ${date}`,
admins: 'Beheerders',
payer: 'Betaler',
paymentAccount: 'Betaalrekening',
shareBankAccount: {
shareTitle: 'Bankrekeningtoegang delen?',
shareDescription: ({admin}: {admin: string}) => `U moet bankrekeningtoegang delen met ${admin} om hem/haar de betaler te maken.`,
validationTitle: 'Bankrekening wacht op validatie',
validationDescription: ({admin}: {admin: string}) =>
`U moet deze bankrekening <a href="#">valideren</a>. Zodra dat is gedaan, kunt u de toegang tot de bankrekening delen met ${admin} om hem/haar de betaler te maken.`,
errorTitle: 'Betaler kan niet worden gewijzigd',
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} heeft geen toegang tot deze bankrekening, dus je kunt hem/haar niet als betaler instellen. <a href="#">Chat met ${owner}</a> als de bankrekening gedeeld moet worden.`,
},
},
reportFraudPage: {
title: 'Fraude met virtuele kaart melden',
Expand Down
10 changes: 10 additions & 0 deletions src/languages/pl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2447,6 +2447,16 @@ ${amount} dla ${merchant} - ${date}`,
admins: 'Administratorzy',
payer: 'Płatnik',
paymentAccount: 'Konto płatnicze',
shareBankAccount: {
shareTitle: 'Udostępnić dostęp do konta bankowego?',
shareDescription: ({admin}: {admin: string}) => `Musisz udostępnić dostęp do konta bankowego użytkownikowi ${admin}, aby uczynić go płatnikiem.`,
validationTitle: 'Konto bankowe oczekuje na walidację',
validationDescription: ({admin}: {admin: string}) =>
`Musisz <a href="#">zweryfikować to konto bankowe</a>. Po wykonaniu tej czynności możesz udostępnić dostęp do konta bankowego użytkownikowi ${admin}, aby uczynić go płatnikiem.`,
errorTitle: 'Nie można zmienić płatnika',
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} nie ma dostępu do tego konta bankowego, więc nie możesz uczynić go płatnikiem. <a href="#">Porozmawiaj z ${owner}</a>, jeśli konto bankowe powinno być współdzielone.`,
},
},
reportFraudPage: {
title: 'Zgłoś oszustwo kartą wirtualną',
Expand Down
10 changes: 10 additions & 0 deletions src/languages/pt-BR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2445,6 +2445,16 @@ ${amount} para ${merchant} - ${date}`,
admins: 'Admins',
payer: 'Pagador',
paymentAccount: 'Conta de pagamento',
shareBankAccount: {
shareTitle: 'Compartilhar acesso à conta bancária?',
shareDescription: ({admin}: {admin: string}) => `Você precisará compartilhar o acesso à conta bancária com ${admin} para torná-lo o pagador.`,
validationTitle: 'Conta bancária aguardando validação',
validationDescription: ({admin}: {admin: string}) =>
`Você precisa <a href="#">validar esta conta bancária</a>. Depois disso, você poderá compartilhar o acesso à conta bancária com ${admin} para torná-lo o pagador.`,
errorTitle: 'Não é possível alterar o pagador',
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} não tem acesso a esta conta bancária, portanto, você não pode torná-lo o pagador. <a href="#">Converse com ${owner}</a> se a conta bancária deve ser compartilhada.`,
},
},
reportFraudPage: {
title: 'Denunciar fraude no cartão virtual',
Expand Down
9 changes: 9 additions & 0 deletions src/languages/zh-hans.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2397,6 +2397,15 @@ ${amount},商户:${merchant} - 日期:${date}`,
admins: '管理员',
payer: '付款人',
paymentAccount: '支付账户',
shareBankAccount: {
shareTitle: '共享银行账户访问权限?',
shareDescription: ({admin}: {admin: string}) => `您需要与 ${admin} 共享银行账户访问权限,才能将其设置为付款人。`,
validationTitle: '银行账户等待验证',
validationDescription: ({admin}: {admin: string}) => `您需要<a href="#">验证此银行账户</a>。验证完成后,您可以将银行账户访问权限分享给 ${admin},使其成为付款人。`,
errorTitle: '无法更改付款人',
errorDescription: ({admin, owner}: {admin: string; owner: string}) =>
`${admin} 没有此银行账户的访问权限,因此您无法将其设置为付款人。<a href="#">请联系 ${owner}</a> 了解是否需要共享此银行账户。`,
},
},
reportFraudPage: {
title: '报告虚拟卡欺诈',
Expand Down
1 change: 1 addition & 0 deletions src/libs/API/parameters/OpenPolicyWorkflowsPageParams.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
type OpenPolicyWorkflowsPageParams = {
policyID: string;
includeAllBankAccounts?: boolean;
};

export default OpenPolicyWorkflowsPageParams;
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
type ShareBankAccountAndSetPayerParams = {
bankAccountID: number;
shareeAccountID: number;
policyID: string;
};

export default ShareBankAccountAndSetPayerParams;
1 change: 1 addition & 0 deletions src/libs/API/parameters/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ export type {default as AcceptWalletTermsParams} from './AcceptWalletTermsParams
export type {default as ChronosRemoveOOOEventParams} from './ChronosRemoveOOOEventParams';
export type {default as TransferWalletBalanceParams} from './TransferWalletBalanceParams';
export type {default as DeleteWorkspaceParams} from './DeleteWorkspaceParams';
export type {default as ShareBankAccountAndSetPayerParams} from './ShareBankAccountAndSetPayerParams';
export type {default as CreateWorkspaceParams} from './CreateWorkspaceParams';
export type {default as UpdateWorkspaceGeneralSettingsParams} from './UpdateWorkspaceGeneralSettingsParams';
export type {default as DeleteWorkspaceAvatarParams} from './DeleteWorkspaceAvatarParams';
Expand Down
2 changes: 2 additions & 0 deletions src/libs/API/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -520,6 +520,7 @@ const WRITE_COMMANDS = {
GET_CORPAY_BANK_ACCOUNT_FIELDS: 'GetCorpayBankAccountFields',
BANK_ACCOUNT_CREATE_CORPAY: 'BankAccount_CreateCorpay',
SHARE_BANK_ACCOUNT: 'ShareBankAccount',
SHARE_BANK_ACCOUNT_AND_UPDATE_POLICY_REIMBURSER: 'ShareBankAccountAndUpdatePolicyReimburser',
UPDATE_WORKSPACE_CUSTOM_UNIT: 'UpdateWorkspaceCustomUnit',
GET_ACCESSIBLE_POLICIES: 'GetAccessibleDomainPoliciesForOnyx',
VALIDATE_USER_AND_GET_ACCESSIBLE_POLICIES: 'ValidateUserAndGetAccessiblePolicies',
Expand Down Expand Up @@ -746,6 +747,7 @@ type WriteCommandParameters = {
[WRITE_COMMANDS.RENAME_POLICY_TAG]: Parameters.RenamePolicyTagsParams;
[WRITE_COMMANDS.UPDATE_POLICY_TAG_GL_CODE]: Parameters.UpdatePolicyTagGLCodeParams;
[WRITE_COMMANDS.SHARE_BANK_ACCOUNT]: Parameters.ShareBankAccountParams;
[WRITE_COMMANDS.SHARE_BANK_ACCOUNT_AND_UPDATE_POLICY_REIMBURSER]: Parameters.ShareBankAccountAndSetPayerParams;
[WRITE_COMMANDS.SET_POLICY_TAGS_ENABLED]: Parameters.SetPolicyTagsEnabled;
[WRITE_COMMANDS.DELETE_POLICY_TAGS]: Parameters.DeletePolicyTagsParams;
[WRITE_COMMANDS.CREATE_TASK]: Parameters.CreateTaskParams;
Expand Down
47 changes: 47 additions & 0 deletions src/libs/actions/BankAccounts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import type {
OpenReimbursementAccountPageParams,
SaveCorpayOnboardingBeneficialOwnerParams,
SendReminderForCorpaySignerInformationParams,
ShareBankAccountAndSetPayerParams,
ShareBankAccountParams,
UnshareBankAccountParams,
ValidateBankAccountWithTransactionsParams,
Expand Down Expand Up @@ -1453,6 +1454,51 @@ function shareBankAccount(bankAccountID: number, emailList: string[]) {
API.write(WRITE_COMMANDS.SHARE_BANK_ACCOUNT, parameters, onyxData);
}

function shareBankAccountAndSetPayer(bankAccountID: number, shareeAccountID: number, policyID: string) {
const parameters: ShareBankAccountAndSetPayerParams = {
bankAccountID,
shareeAccountID,
policyID,
};

const onyxData: OnyxData<typeof ONYXKEYS.SHARE_BANK_ACCOUNT> = {
optimisticData: [
{
onyxMethod: Onyx.METHOD.MERGE,
key: ONYXKEYS.SHARE_BANK_ACCOUNT,
value: {
isLoading: true,
errors: null,
},
},
],
successData: [
{
onyxMethod: Onyx.METHOD.MERGE,
key: ONYXKEYS.SHARE_BANK_ACCOUNT,
value: {
isLoading: false,
errors: null,
admins: null,
shouldShowSuccess: true,
},
},
],
failureData: [
{
onyxMethod: Onyx.METHOD.MERGE,
key: ONYXKEYS.SHARE_BANK_ACCOUNT,
value: {
isLoading: false,
errors: getMicroSecondOnyxErrorWithTranslationKey('walletPage.shareBankAccountFailure'),
},
},
],
};

API.write(WRITE_COMMANDS.SHARE_BANK_ACCOUNT_AND_UPDATE_POLICY_REIMBURSER, parameters, onyxData);
}

/**
* Get bank account from bankAccountID
*/
Expand Down Expand Up @@ -1538,6 +1584,7 @@ export {
clearReimbursementAccountSaveCorpayOnboardingDirectorInformation,
clearCorpayBankAccountFields,
finishCorpayBankAccountOnboarding,
shareBankAccountAndSetPayer,
clearReimbursementAccountFinishCorpayBankAccountOnboarding,
enableGlobalReimbursementsForUSDBankAccount,
clearEnableGlobalReimbursementsForUSDBankAccount,
Expand Down
4 changes: 2 additions & 2 deletions src/libs/actions/Policy/Policy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@
};

const deprecatedAllPolicies: OnyxCollection<Policy> = {};
Onyx.connect({

Check warning on line 241 in src/libs/actions/Policy/Policy.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.COLLECTION.POLICY,
callback: (val, key) => {
if (!key) {
Expand All @@ -254,7 +254,7 @@
});

let deprecatedAllReportActions: OnyxCollection<ReportActions>;
Onyx.connect({

Check warning on line 257 in src/libs/actions/Policy/Policy.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.COLLECTION.REPORT_ACTIONS,
waitForCollectionCallback: true,
callback: (actions) => {
Expand All @@ -264,7 +264,7 @@

let deprecatedSessionEmail = '';
let deprecatedSessionAccountID = 0;
Onyx.connect({

Check warning on line 267 in src/libs/actions/Policy/Policy.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.SESSION,
callback: (val) => {
deprecatedSessionEmail = val?.email ?? '';
Expand All @@ -273,7 +273,7 @@
});

let deprecatedAllPersonalDetails: OnyxEntry<PersonalDetailsList>;
Onyx.connect({

Check warning on line 276 in src/libs/actions/Policy/Policy.ts

View workflow job for this annotation

GitHub Actions / Changed files ESLint check

Onyx.connect() is deprecated. Use useOnyx() hook instead and pass the data as parameters to a pure function
key: ONYXKEYS.PERSONAL_DETAILS_LIST,
callback: (val) => (deprecatedAllPersonalDetails = val),
});
Expand Down Expand Up @@ -3373,7 +3373,7 @@
return params;
}

function openPolicyWorkflowsPage(policyID: string) {
function openPolicyWorkflowsPage(policyID: string, includeAllBankAccounts?: boolean) {
if (!policyID) {
Log.warn('openPolicyWorkflowsPage invalid params', {policyID});
return;
Expand Down Expand Up @@ -3409,7 +3409,7 @@
],
};

const params: OpenPolicyWorkflowsPageParams = {policyID};
const params: OpenPolicyWorkflowsPageParams = {policyID, includeAllBankAccounts};

API.read(READ_COMMANDS.OPEN_POLICY_WORKFLOWS_PAGE, params, onyxData);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import useDebouncedState from '@hooks/useDebouncedState';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import useThemeStyles from '@hooks/useThemeStyles';
import {getLatestErrorMessage} from '@libs/ErrorUtils';
import {formatMemberForList, getHeaderMessage, getSearchValueForPhoneOrEmail} from '@libs/OptionsListUtils';
import {getPersonalDetailByEmail} from '@libs/PersonalDetailsUtils';
import tokenizedSearch from '@libs/tokenizedSearch';
Expand Down Expand Up @@ -42,6 +43,8 @@ function UnshareBankAccount({route}: ShareBankAccountProps) {
const {translate} = useLocalize();
const admins = bankAccountList?.[bankAccountID]?.accountData?.sharees;
const totalAdmins = bankAccountList?.[bankAccountID]?.accountData?.sharees?.length;
const error = getLatestErrorMessage(bankAccountList?.[bankAccountID] ?? {});
const isExpensifyCardError = error?.includes(CONST.EXPENSIFY_CARD.BANK);
const isExpensifyCardSettlementAccount = bankAccountList?.[bankAccountID]?.isExpensifyCardSettlementAccount ?? false;
const shouldShowTextInput = Number(totalAdmins) >= CONST.STANDARD_LIST_ITEM_LIMIT;
const textInputLabel = shouldShowTextInput ? translate('common.search') : undefined;
Expand All @@ -57,6 +60,14 @@ function UnshareBankAccount({route}: ShareBankAccountProps) {
}
}, [totalAdmins, shouldShowSuccess]);

useEffect(() => {
Comment thread
narefyev91 marked this conversation as resolved.
if (!isExpensifyCardError) {
return;
}
setUnshareUser(undefined);
setShowExpensifyCardErrorModal(true);
}, [isExpensifyCardError]);

const handleUnshare = () => {
if (!bankAccountID || !unshareUser?.login) {
return;
Expand Down Expand Up @@ -101,7 +112,10 @@ function UnshareBankAccount({route}: ShareBankAccountProps) {
return adminsToDisplay;
};

const hideUnshareErrorModal = () => setShowExpensifyCardErrorModal(false);
const hideUnshareErrorModal = () => {
clearUnshareBankAccountErrors(Number(bankAccountID));
setShowExpensifyCardErrorModal(false);
};

const itemRightSideComponent = (item: ListItem) => {
return (
Expand Down Expand Up @@ -148,7 +162,7 @@ function UnshareBankAccount({route}: ShareBankAccountProps) {
rightHandSideComponent={itemRightSideComponent}
footerContent={
<ErrorMessageRow
errors={unsharedBankAccountData?.errors}
errors={isExpensifyCardError ? null : unsharedBankAccountData?.errors}
errorRowStyles={[styles.mv3]}
onDismiss={() => clearUnshareBankAccountErrors(Number(bankAccountID))}
/>
Expand Down
Loading
Loading