diff --git a/src/pages/workspace/travel/WorkspaceTravelInvoicingSettlementFrequencyPage.tsx b/src/pages/workspace/travel/WorkspaceTravelInvoicingSettlementFrequencyPage.tsx index e451084380c9e..da4bac8346a61 100644 --- a/src/pages/workspace/travel/WorkspaceTravelInvoicingSettlementFrequencyPage.tsx +++ b/src/pages/workspace/travel/WorkspaceTravelInvoicingSettlementFrequencyPage.tsx @@ -12,12 +12,14 @@ import useThemeStyles from '@hooks/useThemeStyles'; import useWorkspaceAccountID from '@hooks/useWorkspaceAccountID'; import {updateTravelInvoiceSettlementFrequency} from '@libs/actions/TravelInvoicing'; import {getCardSettings} from '@libs/CardUtils'; +import {getLatestErrorField} from '@libs/ErrorUtils'; import Navigation from '@libs/Navigation/Navigation'; import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types'; import type {SettingsNavigatorParamList} from '@libs/Navigation/types'; import {getTravelInvoicingCardSettingsKey, getTravelSettlementFrequency} from '@libs/TravelInvoicingUtils'; import CONST from '@src/CONST'; import type SCREENS from '@src/SCREENS'; +import {isEmptyValueObject} from '@src/types/utils/EmptyObject'; type WorkspaceTravelInvoicingSettlementFrequencyPageProps = PlatformStackScreenProps; @@ -36,6 +38,9 @@ function WorkspaceTravelInvoicingSettlementFrequencyPage({route}: WorkspaceTrave const currentFrequency = getTravelSettlementFrequency(travelSettings); const frequencies = [CONST.EXPENSIFY_CARD.FREQUENCY_SETTING.MONTHLY, CONST.EXPENSIFY_CARD.FREQUENCY_SETTING.DAILY]; + const monthlySettlementDateError = getLatestErrorField(travelSettings, CONST.TRAVEL.MONTHLY_SETTLEMENT_DATE); + const hasFrequencyError = !isEmptyValueObject(monthlySettlementDateError); + function getSettlementFrequencyLabel(frequency: ValueOf) { if (frequency === CONST.EXPENSIFY_CARD.FREQUENCY_SETTING.MONTHLY) { return translate('workspace.common.frequency.monthly'); @@ -53,7 +58,9 @@ function WorkspaceTravelInvoicingSettlementFrequencyPage({route}: WorkspaceTrave })); const selectFrequency = (item: FrequencyItem) => { - updateTravelInvoiceSettlementFrequency(workspaceAccountID, item.value, travelSettings?.monthlySettlementDate ? new Date(travelSettings.monthlySettlementDate) : undefined); + if (item.value !== currentFrequency || hasFrequencyError) { + updateTravelInvoiceSettlementFrequency(workspaceAccountID, item.value, travelSettings?.monthlySettlementDate ? new Date(travelSettings.monthlySettlementDate) : undefined); + } Navigation.goBack(); };