@@ -28,6 +28,7 @@ import CONST from '@src/CONST';
2828import ONYXKEYS from '@src/ONYXKEYS' ;
2929import ROUTES from '@src/ROUTES' ;
3030import type { SpendRuleForm } from '@src/types/form' ;
31+ import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue' ;
3132import { getTruncatedSpendRuleSummary } from './SpendRulesUtils' ;
3233
3334type SpendRulesSectionProps = {
@@ -86,14 +87,14 @@ function SpendRulesSection({policyID}: SpendRulesSectionProps) {
8687 const { isOffline} = useNetwork ( ) ;
8788 const defaultFundID = useDefaultFundID ( policyID ) ;
8889 const [ expensifyCardSettings ] = useOnyx ( `${ ONYXKEYS . COLLECTION . PRIVATE_EXPENSIFY_CARD_SETTINGS } ${ defaultFundID } ` ) ;
89- const [ cardsList ] = useOnyx ( `${ ONYXKEYS . COLLECTION . WORKSPACE_CARDS_LIST } ${ defaultFundID } _${ CONST . EXPENSIFY_CARD . BANK } ` , { selector : filterInactiveCards } ) ;
90+ const [ cardsList , cardsListResult ] = useOnyx ( `${ ONYXKEYS . COLLECTION . WORKSPACE_CARDS_LIST } ${ defaultFundID } _${ CONST . EXPENSIFY_CARD . BANK } ` , { selector : filterInactiveCards } ) ;
9091 const [ personalDetails ] = useOnyx ( ONYXKEYS . PERSONAL_DETAILS_LIST ) ;
9192
9293 useEffect ( ( ) => {
9394 openPolicyExpensifyCardsPage ( policyID , defaultFundID ) ;
9495 } , [ policyID , defaultFundID ] ) ;
9596
96- const isCardSettingsLoading = ! isOffline && ( ! expensifyCardSettings || expensifyCardSettings . isLoading ) && ! expensifyCardSettings ?. hasOnceLoaded ;
97+ const isSpendRulesListLoading = ! isOffline && ( isLoadingOnyxValue ( cardsListResult ) || ! expensifyCardSettings || expensifyCardSettings . isLoading ) && ! expensifyCardSettings ?. hasOnceLoaded ;
9798
9899 const showBuiltInProtectionModal = ( ) => {
99100 showConfirmModal ( {
@@ -217,14 +218,14 @@ function SpendRulesSection({policyID}: SpendRulesSectionProps) {
217218 onPress = { showBuiltInProtectionModal }
218219 shouldShowRightIcon
219220 />
220- { isCardSettingsLoading ? (
221+ { isSpendRulesListLoading ? (
221222 < View style = { [ styles . justifyContentCenter , styles . alignItemsCenter , styles . mt5 , styles . mb3 ] } >
222223 < ActivityIndicator
223224 size = { CONST . ACTIVITY_INDICATOR_SIZE . LARGE }
224225 reasonAttributes = { {
225226 context : 'SpendRulesSection' ,
226227 isOffline,
227- hasOnceLoaded : ! ! expensifyCardSettings ?. hasOnceLoaded ,
228+ hasOnceLoaded : ! isSpendRulesListLoading ,
228229 } }
229230 />
230231 </ View >
0 commit comments