From c889d983fd6851c02cea137736fb767637562e47 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Wed, 9 Oct 2024 23:42:14 +0200 Subject: [PATCH 01/16] add new constants --- src/CONST.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/CONST.ts b/src/CONST.ts index a7ded961ba0f..4dea5b8d060b 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -2519,6 +2519,7 @@ const CONST = { }, COMPANY_CARDS: { STEP: { + SELECT_BANK: 'SelectBank', CARD_TYPE: 'CardType', CARD_INSTRUCTIONS: 'CardInstructions', CARD_NAME: 'CardName', @@ -2529,6 +2530,17 @@ const CONST = { VISA: 'visa', MASTERCARD: 'mastercard', }, + BANKS: { + AMEX: 'American Express', + BANK_OF_AMERICA: 'Bank of America', + BREX: 'Brex', + CAPITAL_ONE: 'Capital One', + CHASE: 'Chase', + CITI_BANK: 'CitiBank', + STRIPE: 'Stripe', + WELLS_FARGO: 'Wells Fargo', + OTHER: 'Other', + }, DELETE_TRANSACTIONS: { RESTRICT: 'corporate', ALLOW: 'personal', From 468622c0011cc6a5f2413bda3e9ec9acc8eee22f Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Wed, 9 Oct 2024 23:42:26 +0200 Subject: [PATCH 02/16] add new illustrations --- src/components/Icon/Illustrations.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/components/Icon/Illustrations.ts b/src/components/Icon/Illustrations.ts index e3604dc5a86e..cdaebb5959be 100644 --- a/src/components/Icon/Illustrations.ts +++ b/src/components/Icon/Illustrations.ts @@ -1,7 +1,15 @@ import AmexCompanyCards from '@assets/images/companyCards/amex.svg'; import AmexCardCompanyCardDetail from '@assets/images/companyCards/card-amex.svg'; +import BankOfAmericaCompanyCardDetail from '@assets/images/companyCards/card-bank_of_america.svg'; +import BrexCompanyCardDetail from '@assets/images/companyCards/card-brex.svg'; +import CapitalOneCompanyCardDetail from '@assets/images/companyCards/card-capitalone.svg'; +import ChaseCompanyCardDetail from '@assets/images/companyCards/card-chase.svg'; +import CitibankCompanyCardDetail from '@assets/images/companyCards/card-citi.svg'; import MasterCardCompanyCardDetail from '@assets/images/companyCards/card-mastercard.svg'; +import OtherCompanyCardDetail from '@assets/images/companyCards/card-other.svg'; +import StripeCompanyCardDetail from '@assets/images/companyCards/card-stripe.svg'; import VisaCompanyCardDetail from '@assets/images/companyCards/card-visa.svg'; +import WellsFargoCompanyCardDetail from '@assets/images/companyCards/card-wellsfargo.svg'; import CompanyCardsEmptyState from '@assets/images/companyCards/emptystate__card-pos.svg'; import MasterCardCompanyCards from '@assets/images/companyCards/mastercard.svg'; import CompanyCardsPendingState from '@assets/images/companyCards/pendingstate_laptop-with-hourglass-and-cards.svg'; @@ -244,4 +252,12 @@ export { MasterCardCompanyCardDetail, AmexCardCompanyCardDetail, TurtleInShell, + BankOfAmericaCompanyCardDetail, + BrexCompanyCardDetail, + CapitalOneCompanyCardDetail, + ChaseCompanyCardDetail, + CitibankCompanyCardDetail, + OtherCompanyCardDetail, + StripeCompanyCardDetail, + WellsFargoCompanyCardDetail, }; From 4ef5fc98d42402b0531dbda1cecfd8e82c98a9bf Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Wed, 9 Oct 2024 23:42:37 +0200 Subject: [PATCH 03/16] update translations --- src/languages/en.ts | 4 ++++ src/languages/es.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/languages/en.ts b/src/languages/en.ts index ab0bf18a082b..14e303098ed7 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -2946,13 +2946,16 @@ const translations = { addCompanyCards: 'Add company cards', selectCardFeed: 'Select card feed', addCardFeed: 'Add card feed', + addNewCard: { + other: 'Other', cardProviders: { amex: 'American Express Corporate Cards', mastercard: 'Mastercard Commercial Cards', visa: 'Visa Commercial Cards', }, yourCardProvider: `Who's your card provider?`, + whoIsYourBankAccount: 'Who’s your bank?', enableFeed: { title: ({provider}: GoBackMessageParams) => `Enable your ${provider} feed`, heading: 'We have a direct integration with your card issuer and can import your transaction data into Expensify quickly and accurately.\n\nTo get started, simply:', @@ -2980,6 +2983,7 @@ const translations = { }, error: { pleaseSelectProvider: 'Please select a card provider before continuing.', + pleaseSelectBankAccount: 'Please select a bank account before continuing.', }, }, assignCard: 'Assign card', diff --git a/src/languages/es.ts b/src/languages/es.ts index 21c4ac7c7943..2f5d162abbef 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -2982,13 +2982,16 @@ const translations = { addCompanyCards: 'Agregar tarjetas de empresa', selectCardFeed: 'Seleccionar feed de tarjetas', addCardFeed: 'Añadir alimentación de tarjeta', + addNewCard: { + other: 'Otros', cardProviders: { amex: 'Tarjetas de empresa American Express', mastercard: 'Tarjetas comerciales Mastercard', visa: 'Tarjetas comerciales Visa', }, yourCardProvider: `¿Quién es su proveedor de tarjetas?`, + whoIsYourBankAccount: '¿Cuál es tu banco?', enableFeed: { title: ({provider}: GoBackMessageParams) => `Habilita tu feed ${provider}`, heading: @@ -3017,6 +3020,7 @@ const translations = { }, error: { pleaseSelectProvider: 'Seleccione un proveedor de tarjetas antes de continuar.', + pleaseSelectBankAccount: 'Seleccione una cuenta bancaria antes de continuar.', }, }, assignCard: 'Asignar tarjeta', From debeb291ba8b25eeb56602a9d6dc428a619b5526 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Wed, 9 Oct 2024 23:42:56 +0200 Subject: [PATCH 04/16] create new util function to get a correct image --- src/libs/CardUtils.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/libs/CardUtils.ts b/src/libs/CardUtils.ts index 07ed431a0bc0..bc40485c784b 100644 --- a/src/libs/CardUtils.ts +++ b/src/libs/CardUtils.ts @@ -227,6 +227,20 @@ function getMemberCards(policy: OnyxEntry, allCardsList: OnyxCollection< return cards; } +const getBankCardDetailsImage = (bank?: ValueOf) => { + const iconMap = { + [CONST.COMPANY_CARDS.BANKS.AMEX]: Illustrations.AmexCardCompanyCardDetail, + [CONST.COMPANY_CARDS.BANKS.BANK_OF_AMERICA]: Illustrations.BankOfAmericaCompanyCardDetail, + [CONST.COMPANY_CARDS.BANKS.CAPITAL_ONE]: Illustrations.CapitalOneCompanyCardDetail, + [CONST.COMPANY_CARDS.BANKS.CHASE]: Illustrations.ChaseCompanyCardDetail, + [CONST.COMPANY_CARDS.BANKS.CITI_BANK]: Illustrations.CitibankCompanyCardDetail, + [CONST.COMPANY_CARDS.BANKS.WELLS_FARGO]: Illustrations.WellsFargoCompanyCardDetail, + [CONST.COMPANY_CARDS.BANKS.BREX]: Illustrations.BrexCompanyCardDetail, + [CONST.COMPANY_CARDS.BANKS.STRIPE]: Illustrations.StripeCompanyCardDetail, + }; + return iconMap[bank] || Illustrations.OtherCompanyCardDetail; +}; + export { isExpensifyCard, isCorporateCard, @@ -245,4 +259,5 @@ export { getCardFeedIcon, getCardDetailsImage, getMemberCards, + getBankCardDetailsImage, }; From c398d72de6ede526e48eff91f703bc15066a3edd Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Wed, 9 Oct 2024 23:43:13 +0200 Subject: [PATCH 05/16] add new type for a step --- src/types/onyx/CardFeeds.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/types/onyx/CardFeeds.ts b/src/types/onyx/CardFeeds.ts index bd78d54db71b..8b80fabac8ae 100644 --- a/src/types/onyx/CardFeeds.ts +++ b/src/types/onyx/CardFeeds.ts @@ -45,6 +45,9 @@ type AddNewCardFeedData = { /** Card type */ cardType: ValueOf; + /** Selected bank */ + selectedBank: ValueOf; + /** Name of the card */ cardTitle: string; }; From 038131a2cc704da19409c1b68a4fdadd219ff678 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Wed, 9 Oct 2024 23:43:23 +0200 Subject: [PATCH 06/16] add new step --- src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx index 8d42b3e8408e..3759030c8bdf 100644 --- a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx +++ b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx @@ -7,6 +7,7 @@ import CardInstructionsStep from './CardInstructionsStep'; import CardNameStep from './CardNameStep'; import CardTypeStep from './CardTypeStep'; import DetailsStep from './DetailsStep'; +import SelectBankStep from './SelectBankStep'; function AddNewCardPage() { const [addNewCardFeed] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD); @@ -14,6 +15,8 @@ function AddNewCardPage() { const {currentStep} = addNewCardFeed ?? {}; switch (currentStep) { + case CONST.COMPANY_CARDS.STEP.SELECT_BANK: + return ; case CONST.COMPANY_CARDS.STEP.CARD_TYPE: return ; case CONST.COMPANY_CARDS.STEP.CARD_INSTRUCTIONS: @@ -23,7 +26,7 @@ function AddNewCardPage() { case CONST.COMPANY_CARDS.STEP.CARD_DETAILS: return ; default: - return ; + return ; } } From 32a84bebfd1f9527f641e47fa8050322656a268e Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Wed, 9 Oct 2024 23:43:42 +0200 Subject: [PATCH 07/16] update handleBackButton in cardTypeStep --- src/pages/workspace/companyCards/addNew/CardTypeStep.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/companyCards/addNew/CardTypeStep.tsx b/src/pages/workspace/companyCards/addNew/CardTypeStep.tsx index 391799851f8c..74bb6bebad68 100644 --- a/src/pages/workspace/companyCards/addNew/CardTypeStep.tsx +++ b/src/pages/workspace/companyCards/addNew/CardTypeStep.tsx @@ -44,7 +44,7 @@ function CardTypeStep() { }, [addNewCard?.data.cardType]); const handleBackButtonPress = () => { - Navigation.goBack(); + CompanyCards.setAddNewCompanyCardStepAndData({step: CONST.COMPANY_CARDS.STEP.SELECT_BANK}); }; const data = [ From a8b7a58c8cd7455622aac1385e1cf6fff378fa38 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Wed, 9 Oct 2024 23:43:56 +0200 Subject: [PATCH 08/16] added new SelectBankStep --- .../companyCards/addNew/SelectBankStep.tsx | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 src/pages/workspace/companyCards/addNew/SelectBankStep.tsx diff --git a/src/pages/workspace/companyCards/addNew/SelectBankStep.tsx b/src/pages/workspace/companyCards/addNew/SelectBankStep.tsx new file mode 100644 index 000000000000..0f2065b77d62 --- /dev/null +++ b/src/pages/workspace/companyCards/addNew/SelectBankStep.tsx @@ -0,0 +1,108 @@ +import React, {useEffect, useState} from 'react'; +import {View} from 'react-native'; +import {useOnyx} from 'react-native-onyx'; +import type {ValueOf} from 'type-fest'; +import FormHelpMessage from '@components/FormHelpMessage'; +import HeaderWithBackButton from '@components/HeaderWithBackButton'; +import Icon from '@components/Icon'; +import ScreenWrapper from '@components/ScreenWrapper'; +import SelectionList from '@components/SelectionList'; +import RadioListItem from '@components/SelectionList/RadioListItem'; +import Text from '@components/Text'; +import useLocalize from '@hooks/useLocalize'; +import useThemeStyles from '@hooks/useThemeStyles'; +import * as CardUtils from '@libs/CardUtils'; +import Navigation from '@navigation/Navigation'; +import variables from '@styles/variables'; +import * as CompanyCards from '@userActions/CompanyCards'; +import CONST from '@src/CONST'; +import ONYXKEYS from '@src/ONYXKEYS'; + +function SelectBankStep() { + const {translate} = useLocalize(); + const styles = useThemeStyles(); + const [addNewCard] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD); + const [bankSelected, setBankSelected] = useState>(); + const [isError, setIsError] = useState(false); + + const submit = () => { + if (!bankSelected) { + setIsError(true); + } else { + // TODO: https://github.com/Expensify/App/issues/50447 - update the navigation when new screen exists + CompanyCards.setAddNewCompanyCardStepAndData({ + step: bankSelected === CONST.COMPANY_CARDS.BANKS.OTHER ? CONST.COMPANY_CARDS.STEP.CARD_TYPE : CONST.COMPANY_CARDS.STEP.CARD_TYPE, + data: { + selectedBank: bankSelected, + }, + isEditing: false, + }); + } + }; + + useEffect(() => { + setBankSelected(addNewCard?.data.selectedBank); + }, [addNewCard?.data.selectedBank]); + + const handleBackButtonPress = () => { + Navigation.goBack(); + }; + + const data = Object.values(CONST.COMPANY_CARDS.BANKS).map((bank) => ({ + value: bank, + text: bank === CONST.COMPANY_CARDS.BANKS.OTHER ? translate('workspace.companyCards.addNewCard.other') : bank, + keyForList: bank, + isSelected: bankSelected === bank, + leftElement: ( + + ), + })); + + return ( + + + + {translate('workspace.companyCards.addNewCard.whoIsYourBankAccount')} + { + setBankSelected(value); + setIsError(false); + }} + sections={[{data}]} + shouldSingleExecuteRowSelect + initiallyFocusedOptionKey={addNewCard?.data.selectedBank} + shouldUpdateFocusedIndex + showConfirmButton + confirmButtonText={translate('common.next')} + onConfirm={submit} + > + {isError && ( + + + + )} + + + ); +} + +SelectBankStep.displayName = 'SelectBankStep'; + +export default SelectBankStep; From d7c50b4e9f0ddeea258f68836108d9cf521b5814 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Thu, 10 Oct 2024 20:57:12 +0200 Subject: [PATCH 09/16] fix unsefe return --- src/libs/CardUtils.ts | 7 ++++--- src/pages/workspace/companyCards/addNew/CardTypeStep.tsx | 1 - 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libs/CardUtils.ts b/src/libs/CardUtils.ts index bc40485c784b..bd8499fa168f 100644 --- a/src/libs/CardUtils.ts +++ b/src/libs/CardUtils.ts @@ -227,8 +227,8 @@ function getMemberCards(policy: OnyxEntry, allCardsList: OnyxCollection< return cards; } -const getBankCardDetailsImage = (bank?: ValueOf) => { - const iconMap = { +const getBankCardDetailsImage = (bank: ValueOf): IconAsset => { + const iconMap: Record, IconAsset> = { [CONST.COMPANY_CARDS.BANKS.AMEX]: Illustrations.AmexCardCompanyCardDetail, [CONST.COMPANY_CARDS.BANKS.BANK_OF_AMERICA]: Illustrations.BankOfAmericaCompanyCardDetail, [CONST.COMPANY_CARDS.BANKS.CAPITAL_ONE]: Illustrations.CapitalOneCompanyCardDetail, @@ -237,8 +237,9 @@ const getBankCardDetailsImage = (bank?: ValueOf Date: Thu, 10 Oct 2024 21:23:18 +0200 Subject: [PATCH 10/16] remove empty spaces --- src/languages/en.ts | 1 - src/languages/es.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 14e303098ed7..99151b27f410 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -2946,7 +2946,6 @@ const translations = { addCompanyCards: 'Add company cards', selectCardFeed: 'Select card feed', addCardFeed: 'Add card feed', - addNewCard: { other: 'Other', cardProviders: { diff --git a/src/languages/es.ts b/src/languages/es.ts index 2f5d162abbef..f165420431c4 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -2982,7 +2982,6 @@ const translations = { addCompanyCards: 'Agregar tarjetas de empresa', selectCardFeed: 'Seleccionar feed de tarjetas', addCardFeed: 'Añadir alimentación de tarjeta', - addNewCard: { other: 'Otros', cardProviders: { From 2316aa2cb8a3a049320a1d0453ae007ebc77dfba Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Thu, 10 Oct 2024 21:24:03 +0200 Subject: [PATCH 11/16] update citibank name --- src/CONST.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CONST.ts b/src/CONST.ts index 4dea5b8d060b..064150aba3aa 100755 --- a/src/CONST.ts +++ b/src/CONST.ts @@ -2536,7 +2536,7 @@ const CONST = { BREX: 'Brex', CAPITAL_ONE: 'Capital One', CHASE: 'Chase', - CITI_BANK: 'CitiBank', + CITI_BANK: 'Citibank', STRIPE: 'Stripe', WELLS_FARGO: 'Wells Fargo', OTHER: 'Other', From bfee0c1be039586350554f012f14ce713c0c6b51 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Thu, 10 Oct 2024 21:39:38 +0200 Subject: [PATCH 12/16] add direct feeds under beta --- .../companyCards/addNew/AddNewCardPage.tsx | 43 +++++++++++++------ .../companyCards/addNew/CardTypeStep.tsx | 9 +++- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx index 3759030c8bdf..9b263299739b 100644 --- a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx +++ b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx @@ -1,5 +1,6 @@ import React from 'react'; import {useOnyx} from 'react-native-onyx'; +import usePermissions from '@hooks/usePermissions'; import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; @@ -11,22 +12,38 @@ import SelectBankStep from './SelectBankStep'; function AddNewCardPage() { const [addNewCardFeed] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD); + const {canUseDirectFeeds} = usePermissions(); const {currentStep} = addNewCardFeed ?? {}; - switch (currentStep) { - case CONST.COMPANY_CARDS.STEP.SELECT_BANK: - return ; - case CONST.COMPANY_CARDS.STEP.CARD_TYPE: - return ; - case CONST.COMPANY_CARDS.STEP.CARD_INSTRUCTIONS: - return ; - case CONST.COMPANY_CARDS.STEP.CARD_NAME: - return ; - case CONST.COMPANY_CARDS.STEP.CARD_DETAILS: - return ; - default: - return ; + if (canUseDirectFeeds) { + switch (currentStep) { + case CONST.COMPANY_CARDS.STEP.SELECT_BANK: + return ; + case CONST.COMPANY_CARDS.STEP.CARD_TYPE: + return ; + case CONST.COMPANY_CARDS.STEP.CARD_INSTRUCTIONS: + return ; + case CONST.COMPANY_CARDS.STEP.CARD_NAME: + return ; + case CONST.COMPANY_CARDS.STEP.CARD_DETAILS: + return ; + default: + return ; + } + } else { + switch (currentStep) { + case CONST.COMPANY_CARDS.STEP.CARD_TYPE: + return ; + case CONST.COMPANY_CARDS.STEP.CARD_INSTRUCTIONS: + return ; + case CONST.COMPANY_CARDS.STEP.CARD_NAME: + return ; + case CONST.COMPANY_CARDS.STEP.CARD_DETAILS: + return ; + default: + return ; + } } } diff --git a/src/pages/workspace/companyCards/addNew/CardTypeStep.tsx b/src/pages/workspace/companyCards/addNew/CardTypeStep.tsx index 28156c3a4ab9..28d6ac834918 100644 --- a/src/pages/workspace/companyCards/addNew/CardTypeStep.tsx +++ b/src/pages/workspace/companyCards/addNew/CardTypeStep.tsx @@ -11,7 +11,9 @@ import SelectionList from '@components/SelectionList'; import RadioListItem from '@components/SelectionList/RadioListItem'; import Text from '@components/Text'; import useLocalize from '@hooks/useLocalize'; +import usePermissions from '@hooks/usePermissions'; import useThemeStyles from '@hooks/useThemeStyles'; +import Navigation from '@navigation/Navigation'; import variables from '@styles/variables'; import * as CompanyCards from '@userActions/CompanyCards'; import CONST from '@src/CONST'; @@ -22,6 +24,7 @@ function CardTypeStep() { const styles = useThemeStyles(); const [addNewCard] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD); const [typeSelected, setTypeSelected] = useState>(); + const {canUseDirectFeeds} = usePermissions(); const [isError, setIsError] = useState(false); const submit = () => { @@ -43,7 +46,11 @@ function CardTypeStep() { }, [addNewCard?.data.cardType]); const handleBackButtonPress = () => { - CompanyCards.setAddNewCompanyCardStepAndData({step: CONST.COMPANY_CARDS.STEP.SELECT_BANK}); + if (canUseDirectFeeds) { + CompanyCards.setAddNewCompanyCardStepAndData({step: CONST.COMPANY_CARDS.STEP.SELECT_BANK}); + } else { + Navigation.goBack(); + } }; const data = [ From 9f71b5d61819fcf5a6d8445de5a416ef3df863a7 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Fri, 11 Oct 2024 13:40:08 +0200 Subject: [PATCH 13/16] update isError to hasError --- .../workspace/companyCards/addNew/SelectBankStep.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pages/workspace/companyCards/addNew/SelectBankStep.tsx b/src/pages/workspace/companyCards/addNew/SelectBankStep.tsx index 0f2065b77d62..be0479327832 100644 --- a/src/pages/workspace/companyCards/addNew/SelectBankStep.tsx +++ b/src/pages/workspace/companyCards/addNew/SelectBankStep.tsx @@ -23,11 +23,11 @@ function SelectBankStep() { const styles = useThemeStyles(); const [addNewCard] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD); const [bankSelected, setBankSelected] = useState>(); - const [isError, setIsError] = useState(false); + const [hasError, setHasError] = useState(false); const submit = () => { if (!bankSelected) { - setIsError(true); + setHasError(true); } else { // TODO: https://github.com/Expensify/App/issues/50447 - update the navigation when new screen exists CompanyCards.setAddNewCompanyCardStepAndData({ @@ -80,7 +80,7 @@ function SelectBankStep() { ListItem={RadioListItem} onSelectRow={({value}) => { setBankSelected(value); - setIsError(false); + setHasError(false); }} sections={[{data}]} shouldSingleExecuteRowSelect @@ -90,10 +90,10 @@ function SelectBankStep() { confirmButtonText={translate('common.next')} onConfirm={submit} > - {isError && ( + {hasError && ( From f0f4ca18d05542d6113e3f81f806d0a244612071 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Fri, 11 Oct 2024 14:01:34 +0200 Subject: [PATCH 14/16] update boa card image --- src/components/Icon/Illustrations.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Icon/Illustrations.ts b/src/components/Icon/Illustrations.ts index cdaebb5959be..e7e0364a14a8 100644 --- a/src/components/Icon/Illustrations.ts +++ b/src/components/Icon/Illustrations.ts @@ -1,6 +1,6 @@ import AmexCompanyCards from '@assets/images/companyCards/amex.svg'; import AmexCardCompanyCardDetail from '@assets/images/companyCards/card-amex.svg'; -import BankOfAmericaCompanyCardDetail from '@assets/images/companyCards/card-bank_of_america.svg'; +import BankOfAmericaCompanyCardDetail from '@assets/images/companyCards/card-bofa.svg'; import BrexCompanyCardDetail from '@assets/images/companyCards/card-brex.svg'; import CapitalOneCompanyCardDetail from '@assets/images/companyCards/card-capitalone.svg'; import ChaseCompanyCardDetail from '@assets/images/companyCards/card-chase.svg'; From 34d02bcf2b03e64047500b127335d0e5d8847776 Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Fri, 11 Oct 2024 14:03:44 +0200 Subject: [PATCH 15/16] remove wrong image --- .../companyCards/card-bank_of_america.svg | 37 ------------------- 1 file changed, 37 deletions(-) delete mode 100644 assets/images/companyCards/card-bank_of_america.svg diff --git a/assets/images/companyCards/card-bank_of_america.svg b/assets/images/companyCards/card-bank_of_america.svg deleted file mode 100644 index 684a6a0a28f5..000000000000 --- a/assets/images/companyCards/card-bank_of_america.svg +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file From 19e08d8f80883c7c6522cd8f74eec711eac6d52f Mon Sep 17 00:00:00 2001 From: Artem Makushov Date: Fri, 11 Oct 2024 16:49:32 +0200 Subject: [PATCH 16/16] update other card --- assets/images/companyCards/card-other.svg | 35 ----------------------- src/components/Icon/Illustrations.ts | 2 +- 2 files changed, 1 insertion(+), 36 deletions(-) delete mode 100644 assets/images/companyCards/card-other.svg diff --git a/assets/images/companyCards/card-other.svg b/assets/images/companyCards/card-other.svg deleted file mode 100644 index 11ff21285626..000000000000 --- a/assets/images/companyCards/card-other.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/components/Icon/Illustrations.ts b/src/components/Icon/Illustrations.ts index e7e0364a14a8..bae8f6af1ab2 100644 --- a/src/components/Icon/Illustrations.ts +++ b/src/components/Icon/Illustrations.ts @@ -6,10 +6,10 @@ import CapitalOneCompanyCardDetail from '@assets/images/companyCards/card-capita import ChaseCompanyCardDetail from '@assets/images/companyCards/card-chase.svg'; import CitibankCompanyCardDetail from '@assets/images/companyCards/card-citi.svg'; import MasterCardCompanyCardDetail from '@assets/images/companyCards/card-mastercard.svg'; -import OtherCompanyCardDetail from '@assets/images/companyCards/card-other.svg'; import StripeCompanyCardDetail from '@assets/images/companyCards/card-stripe.svg'; import VisaCompanyCardDetail from '@assets/images/companyCards/card-visa.svg'; import WellsFargoCompanyCardDetail from '@assets/images/companyCards/card-wellsfargo.svg'; +import OtherCompanyCardDetail from '@assets/images/companyCards/card=-generic.svg'; import CompanyCardsEmptyState from '@assets/images/companyCards/emptystate__card-pos.svg'; import MasterCardCompanyCards from '@assets/images/companyCards/mastercard.svg'; import CompanyCardsPendingState from '@assets/images/companyCards/pendingstate_laptop-with-hourglass-and-cards.svg';