Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
42 changes: 0 additions & 42 deletions src/hooks/useIsBlockedToAddFeed.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import HeaderWithBackButton from '@components/HeaderWithBackButton';
import ScreenWrapper from '@components/ScreenWrapper';
import useCardFeeds from '@hooks/useCardFeeds';
import useImportPlaidAccounts from '@hooks/useImportPlaidAccounts';
import useIsBlockedToAddFeed from '@hooks/useIsBlockedToAddFeed';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import usePermissions from '@hooks/usePermissions';
Expand Down Expand Up @@ -72,19 +71,9 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
const onImportPlaidAccounts = useImportPlaidAccounts(policyID);
const {updateBrokenConnection, isFeedConnectionBroken} = useUpdateFeedBrokenConnection({policyID, feed});
const isNewFeedHasError = !!(newFeed && cardFeeds?.settings?.oAuthAccountDetails?.[newFeed]?.errors);
const {isBlockedToAddNewFeeds, isAllFeedsResultLoading} = useIsBlockedToAddFeed(policyID);

const renderLoading = () => <FullScreenLoadingIndicator />;

useEffect(() => {
if (!isBlockedToAddNewFeeds || !policyID) {
return;
}
Navigation.navigate(ROUTES.WORKSPACE_UPGRADE.getRoute(policyID, CONST.UPGRADE_FEATURE_INTRO_MAPPING.companyCards.alias, ROUTES.WORKSPACE_COMPANY_CARDS.getRoute(policyID)), {
forceReplace: true,
});
}, [isBlockedToAddNewFeeds, policyID]);

const handleBackButtonPress = () => {
// Handle assign card flow
if (feed) {
Expand Down Expand Up @@ -180,7 +169,7 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
onBackButtonPress={handleBackButtonPress}
/>
<FullPageOfflineBlockingView addBottomSafeAreaPadding>
{!!url && !isConnectionCompleted && !isPlaid && !isNewFeedHasError && !isBlockedToAddNewFeeds && !isAllFeedsResultLoading && (
{!!url && !isConnectionCompleted && !isPlaid && !isNewFeedHasError && (
<WebView
ref={webViewRef}
source={{
Expand All @@ -196,7 +185,7 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
renderLoading={renderLoading}
/>
)}
{(isBlockedToAddNewFeeds || isConnectionCompleted || isPlaid || isAllFeedsResultLoading) && !isNewFeedHasError && (
{(isConnectionCompleted || isPlaid) && !isNewFeedHasError && (
<ActivityIndicator
size={CONST.ACTIVITY_INDICATOR_SIZE.LARGE}
style={styles.flex1}
Expand Down
17 changes: 2 additions & 15 deletions src/pages/workspace/companyCards/BankConnection/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import Text from '@components/Text';
import TextLink from '@components/TextLink';
import useCardFeeds from '@hooks/useCardFeeds';
import useImportPlaidAccounts from '@hooks/useImportPlaidAccounts';
import useIsBlockedToAddFeed from '@hooks/useIsBlockedToAddFeed';
import useLocalize from '@hooks/useLocalize';
import useNetwork from '@hooks/useNetwork';
import useOnyx from '@hooks/useOnyx';
Expand Down Expand Up @@ -74,7 +73,6 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
const headerTitle = feed ? translate('workspace.companyCards.assignCard') : headerTitleAddCards;
const isNewFeedHasError = !!(newFeed && cardFeeds?.settings?.oAuthAccountDetails?.[newFeed]?.errors);
const onImportPlaidAccounts = useImportPlaidAccounts(policyID);
const {isBlockedToAddNewFeeds, isAllFeedsResultLoading} = useIsBlockedToAddFeed(policyID);

const onOpenBankConnectionFlow = useCallback(() => {
if (!url) {
Expand All @@ -84,15 +82,6 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
customWindow = openBankConnection(url);
}, [url]);

useEffect(() => {
if (!isBlockedToAddNewFeeds || !policyID) {
return;
}
Navigation.navigate(ROUTES.WORKSPACE_UPGRADE.getRoute(policyID, CONST.UPGRADE_FEATURE_INTRO_MAPPING.companyCards.alias, ROUTES.WORKSPACE_COMPANY_CARDS.getRoute(policyID)), {
forceReplace: true,
});
}, [isBlockedToAddNewFeeds, policyID]);

const handleBackButtonPress = () => {
customWindow?.close();

Expand Down Expand Up @@ -129,7 +118,7 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
);

useEffect(() => {
if ((!url && !isPlaid) || isOffline || isNewFeedHasError || isBlockedToAddNewFeeds || isAllFeedsResultLoading) {
if ((!url && !isPlaid) || isOffline || isNewFeedHasError) {
return;
}

Expand Down Expand Up @@ -188,9 +177,7 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
}
}, [
isNewFeedConnected,
isAllFeedsResultLoading,
shouldBlockWindowOpen,
isBlockedToAddNewFeeds,
newFeed,
policyID,
url,
Expand All @@ -214,7 +201,7 @@ function BankConnection({policyID: policyIDFromProps, feed, route}: BankConnecti
/>
);
}
if (!isPlaid && !isBlockedToAddNewFeeds && !isAllFeedsResultLoading) {
if (!isPlaid) {
return (
<BlockingView
icon={PendingBank}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import SelectionList from '@components/SelectionList';
import RadioListItem from '@components/SelectionList/ListItem/RadioListItem';
import type {ListItem} from '@components/SelectionList/types';
import useCardFeeds from '@hooks/useCardFeeds';
import useIsBlockedToAddFeed from '@hooks/useIsBlockedToAddFeed';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import usePolicy from '@hooks/usePolicy';
Expand All @@ -27,6 +26,7 @@ import {
} from '@libs/CardUtils';
import type {PlatformStackScreenProps} from '@libs/Navigation/PlatformStackNavigation/types';
import type {SettingsNavigatorParamList} from '@libs/Navigation/types';
import {isCollectPolicy} from '@libs/PolicyUtils';
import Navigation from '@navigation/Navigation';
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
import variables from '@styles/variables';
Expand Down Expand Up @@ -58,7 +58,7 @@ function WorkspaceCompanyCardFeedSelectorPage({route}: WorkspaceCompanyCardFeedS
const [lastSelectedFeed] = useOnyx(`${ONYXKEYS.COLLECTION.LAST_SELECTED_FEED}${policyID}`, {canBeMissing: true});
const selectedFeed = getSelectedFeed(lastSelectedFeed, cardFeeds);
const companyFeeds = getCompanyFeeds(cardFeeds);
const {isBlockedToAddNewFeeds} = useIsBlockedToAddFeed(policyID);
const isCollect = isCollectPolicy(policy);

const feeds: CardFeedListItem[] = Object.entries(companyFeeds).map(([key, feedSettings]) => {
const feed = key as CompanyCardFeed;
Expand Down Expand Up @@ -95,7 +95,7 @@ function WorkspaceCompanyCardFeedSelectorPage({route}: WorkspaceCompanyCardFeedS

const onAddCardsPress = () => {
clearAddNewCardFlow();
if (isBlockedToAddNewFeeds) {
if (isCollect && feeds.length === 1) {
Navigation.navigate(
ROUTES.WORKSPACE_UPGRADE.getRoute(policyID, CONST.UPGRADE_FEATURE_INTRO_MAPPING.companyCards.alias, ROUTES.WORKSPACE_COMPANY_CARDS_SELECT_FEED.getRoute(policyID)),
);
Expand Down
15 changes: 1 addition & 14 deletions src/pages/workspace/companyCards/addNew/AddNewCardPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,18 @@ import ConfirmModal from '@components/ConfirmModal';
import DelegateNoAccessWrapper from '@components/DelegateNoAccessWrapper';
import FullScreenLoadingIndicator from '@components/FullscreenLoadingIndicator';
import ScreenWrapper from '@components/ScreenWrapper';
import useIsBlockedToAddFeed from '@hooks/useIsBlockedToAddFeed';
import useLocalize from '@hooks/useLocalize';
import useOnyx from '@hooks/useOnyx';
import usePermissions from '@hooks/usePermissions';
import useThemeStyles from '@hooks/useThemeStyles';
import useWorkspaceAccountID from '@hooks/useWorkspaceAccountID';
import {navigateToConciergeChat} from '@libs/actions/Report';
import Navigation from '@navigation/Navigation';
import BankConnection from '@pages/workspace/companyCards/BankConnection';
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
import {clearAddNewCardFlow, openPolicyAddCardFeedPage} from '@userActions/CompanyCards';
import CONST from '@src/CONST';
import ONYXKEYS from '@src/ONYXKEYS';
import ROUTES from '@src/ROUTES';
import isLoadingOnyxValue from '@src/types/utils/isLoadingOnyxValue';
import AmexCustomFeed from './AmexCustomFeed';
import CardInstructionsStep from './CardInstructionsStep';
Expand All @@ -40,23 +37,13 @@ function AddNewCardPage({policy}: WithPolicyAndFullscreenLoadingProps) {
const [addNewCardFeed, addNewCardFeedMetadata] = useOnyx(ONYXKEYS.ADD_NEW_COMPANY_CARD, {canBeMissing: false});
const {currentStep} = addNewCardFeed ?? {};
const {isBetaEnabled} = usePermissions();
const {isBlockedToAddNewFeeds, isAllFeedsResultLoading} = useIsBlockedToAddFeed(policyID);
const [isModalVisible, setIsModalVisible] = useState(false);
const {translate} = useLocalize();

const [isActingAsDelegate] = useOnyx(ONYXKEYS.ACCOUNT, {selector: isActingAsDelegateSelector, canBeMissing: false});

const isAddCardFeedLoading = isLoadingOnyxValue(addNewCardFeedMetadata);

useEffect(() => {
if (!isBlockedToAddNewFeeds || !policyID) {
return;
}
Navigation.navigate(ROUTES.WORKSPACE_UPGRADE.getRoute(policyID, CONST.UPGRADE_FEATURE_INTRO_MAPPING.companyCards.alias, ROUTES.WORKSPACE_COMPANY_CARDS.getRoute(policyID)), {
forceReplace: true,
});
}, [isBlockedToAddNewFeeds, policyID]);

useEffect(() => {
return () => {
clearAddNewCardFlow();
Expand All @@ -73,7 +60,7 @@ function AddNewCardPage({policy}: WithPolicyAndFullscreenLoadingProps) {
openPolicyAddCardFeedPage(policyID);
}, [workspaceAccountID, policyID]);

if (isAddCardFeedLoading || isBlockedToAddNewFeeds || isAllFeedsResultLoading) {
if (isAddCardFeedLoading) {
return <FullScreenLoadingIndicator />;
}

Expand Down
56 changes: 27 additions & 29 deletions src/pages/workspace/companyCards/addNew/SelectBankStep.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import {useRoute} from '@react-navigation/native';
import React, {useEffect, useState} from 'react';
import {View} from 'react-native';
import type {ValueOf} from 'type-fest';
import FullPageOfflineBlockingView from '@components/BlockingViews/FullPageOfflineBlockingView';
import FormHelpMessage from '@components/FormHelpMessage';
import HeaderWithBackButton from '@components/HeaderWithBackButton';
import Icon from '@components/Icon';
Expand Down Expand Up @@ -98,34 +97,33 @@ function SelectBankStep() {
title={translate('workspace.companyCards.addCards')}
onBackButtonPress={handleBackButtonPress}
/>
<FullPageOfflineBlockingView>
<Text style={[styles.textHeadlineLineHeightXXL, styles.ph5, styles.mv3]}>{translate('workspace.companyCards.addNewCard.whoIsYourBankAccount')}</Text>
<SelectionList
ListItem={RadioListItem}
onSelectRow={({value}) => {
setBankSelected(value);
setHasError(false);
}}
sections={[{data}]}
shouldSingleExecuteRowSelect
initiallyFocusedOptionKey={addNewCard?.data.selectedBank}
shouldUpdateFocusedIndex
showConfirmButton
confirmButtonText={translate('common.next')}
onConfirm={submit}
confirmButtonStyles={!hasError && styles.mt5}
addBottomSafeAreaPadding
>
{hasError && (
<View style={[styles.ph3, styles.mb3]}>
<FormHelpMessage
isError={hasError}
message={translate('workspace.companyCards.addNewCard.error.pleaseSelectBank')}
/>
</View>
)}
</SelectionList>
</FullPageOfflineBlockingView>

<Text style={[styles.textHeadlineLineHeightXXL, styles.ph5, styles.mv3]}>{translate('workspace.companyCards.addNewCard.whoIsYourBankAccount')}</Text>
<SelectionList
ListItem={RadioListItem}
onSelectRow={({value}) => {
setBankSelected(value);
setHasError(false);
}}
sections={[{data}]}
shouldSingleExecuteRowSelect
initiallyFocusedOptionKey={addNewCard?.data.selectedBank}
shouldUpdateFocusedIndex
showConfirmButton
confirmButtonText={translate('common.next')}
onConfirm={submit}
confirmButtonStyles={!hasError && styles.mt5}
addBottomSafeAreaPadding
>
{hasError && (
<View style={[styles.ph3, styles.mb3]}>
<FormHelpMessage
isError={hasError}
message={translate('workspace.companyCards.addNewCard.error.pleaseSelectBank')}
/>
</View>
)}
</SelectionList>
</ScreenWrapper>
);
}
Expand Down
Loading
Loading