From 6b55176ffe8c771c51a3bcb2bda14678f5cca6e0 Mon Sep 17 00:00:00 2001 From: Isha Kakkad Date: Thu, 1 May 2025 21:01:25 +0530 Subject: [PATCH] Show loader while refresh add card page. --- .../workspace/companyCards/addNew/AddNewCardPage.tsx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx index 067adab0ea7a..faf41ec077bb 100644 --- a/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx +++ b/src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx @@ -1,6 +1,7 @@ import React, {useEffect} from 'react'; import {useOnyx} from 'react-native-onyx'; import DelegateNoAccessWrapper from '@components/DelegateNoAccessWrapper'; +import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator'; import ScreenWrapper from '@components/ScreenWrapper'; import useWorkspaceAccountID from '@hooks/useWorkspaceAccountID'; import BankConnection from '@pages/workspace/companyCards/BankConnection'; @@ -9,6 +10,7 @@ import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPol import {openPolicyAddCardFeedPage} from '@userActions/CompanyCards'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; +import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue'; import AmexCustomFeed from './AmexCustomFeed'; import CardInstructionsStep from './CardInstructionsStep'; import CardNameStep from './CardNameStep'; @@ -20,11 +22,13 @@ import SelectFeedType from './SelectFeedType'; function AddNewCardPage({policy}: WithPolicyAndFullscreenLoadingProps) { const policyID = policy?.id; const workspaceAccountID = useWorkspaceAccountID(policyID); - const [addNewCardFeed] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD, {canBeMissing: false}); + const [addNewCardFeed, addNewCardFeedMetadata] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD, {canBeMissing: false}); const {currentStep} = addNewCardFeed ?? {}; const [isActingAsDelegate] = useOnyx(ONYXKEYS.ACCOUNT, {selector: (account) => !!account?.delegatedAccess?.delegate, canBeMissing: false}); + const isAddCardFeedLoading = isLoadingOnyxValue(addNewCardFeedMetadata); + useEffect(() => { // If the user only has a domain feed, a workspace account may not have been created yet. // However, adding a workspace feed requires a workspace account. @@ -35,6 +39,10 @@ function AddNewCardPage({policy}: WithPolicyAndFullscreenLoadingProps) { openPolicyAddCardFeedPage(policyID); }, [workspaceAccountID, policyID]); + if (isAddCardFeedLoading) { + return ; + } + if (isActingAsDelegate) { return (