Skip to content

Commit 4a46a76

Browse files
committed
Add access wrapper
1 parent dd2d479 commit 4a46a76

File tree

2 files changed

+60
-39
lines changed

2 files changed

+60
-39
lines changed

src/pages/workspace/expensifyCard/WorkspaceExpensifyCardBankAccounts.tsx

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ import * as CardUtils from '@libs/CardUtils';
1515
import * as PolicyUtils from '@libs/PolicyUtils';
1616
import Navigation from '@navigation/Navigation';
1717
import type {SettingsNavigatorParamList} from '@navigation/types';
18+
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
1819
import * as Card from '@userActions/Card';
20+
import CONST from '@src/CONST';
1921
import ONYXKEYS from '@src/ONYXKEYS';
2022
import ROUTES from '@src/ROUTES';
2123
import type SCREENS from '@src/SCREENS';
@@ -74,26 +76,32 @@ function WorkspaceExpensifyCardBankAccounts({route}: WorkspaceExpensifyCardBankA
7476
};
7577

7678
return (
77-
<ScreenWrapper
78-
testID={WorkspaceExpensifyCardBankAccounts.displayName}
79-
includeSafeAreaPaddingBottom={false}
80-
shouldEnablePickerAvoiding={false}
79+
<AccessOrNotFoundWrapper
80+
accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN, CONST.POLICY.ACCESS_VARIANTS.PAID]}
81+
policyID={policyID}
82+
featureName={CONST.POLICY.MORE_FEATURES.ARE_EXPENSIFY_CARDS_ENABLED}
8183
>
82-
<HeaderWithBackButton
83-
shouldShowBackButton
84-
onBackButtonPress={() => Navigation.goBack()}
85-
title={translate('workspace.expensifyCard.chooseBankAccount')}
86-
/>
87-
<View style={styles.flex1}>
88-
<Text style={[styles.mh5, styles.mb3]}>{translate('workspace.expensifyCard.chooseExistingBank')}</Text>
89-
{renderBankOptions()}
90-
<MenuItem
91-
icon={Expensicons.Plus}
92-
title={translate('workspace.expensifyCard.addNewBankAccount')}
93-
onPress={handleAddBankAccount}
84+
<ScreenWrapper
85+
testID={WorkspaceExpensifyCardBankAccounts.displayName}
86+
includeSafeAreaPaddingBottom={false}
87+
shouldEnablePickerAvoiding={false}
88+
>
89+
<HeaderWithBackButton
90+
shouldShowBackButton
91+
onBackButtonPress={() => Navigation.goBack()}
92+
title={translate('workspace.expensifyCard.chooseBankAccount')}
9493
/>
95-
</View>
96-
</ScreenWrapper>
94+
<View style={styles.flex1}>
95+
<Text style={[styles.mh5, styles.mb3]}>{translate('workspace.expensifyCard.chooseExistingBank')}</Text>
96+
{renderBankOptions()}
97+
<MenuItem
98+
icon={Expensicons.Plus}
99+
title={translate('workspace.expensifyCard.addNewBankAccount')}
100+
onPress={handleAddBankAccount}
101+
/>
102+
</View>
103+
</ScreenWrapper>
104+
</AccessOrNotFoundWrapper>
97105
);
98106
}
99107

src/pages/workspace/expensifyCard/issueNew/IssueNewCardPage.tsx

Lines changed: 34 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type {StackScreenProps} from '@react-navigation/stack';
22
import React, {useEffect} from 'react';
33
import {useOnyx} from 'react-native-onyx';
44
import type {SettingsNavigatorParamList} from '@navigation/types';
5+
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
56
import type {WithPolicyAndFullscreenLoadingProps} from '@pages/workspace/withPolicyAndFullscreenLoading';
67
import withPolicyAndFullscreenLoading from '@pages/workspace/withPolicyAndFullscreenLoading';
78
import * as Card from '@userActions/Card';
@@ -29,27 +30,39 @@ function IssueNewCardPage({policy, route}: IssueNewCardPageProps) {
2930
Card.startIssueNewCardFlow(policyID);
3031
}, [policyID]);
3132

32-
switch (currentStep) {
33-
case CONST.EXPENSIFY_CARD.STEP.ASSIGNEE:
34-
return <AssigneeStep policy={policy} />;
35-
case CONST.EXPENSIFY_CARD.STEP.CARD_TYPE:
36-
return <CardTypeStep />;
37-
case CONST.EXPENSIFY_CARD.STEP.LIMIT_TYPE:
38-
return <LimitTypeStep policy={policy} />;
39-
case CONST.EXPENSIFY_CARD.STEP.LIMIT:
40-
return <LimitStep />;
41-
case CONST.EXPENSIFY_CARD.STEP.CARD_NAME:
42-
return <CardNameStep />;
43-
case CONST.EXPENSIFY_CARD.STEP.CONFIRMATION:
44-
return (
45-
<ConfirmationStep
46-
policyID={policyID}
47-
backTo={backTo}
48-
/>
49-
);
50-
default:
51-
return <AssigneeStep policy={policy} />;
52-
}
33+
const getCurrentStep = () => {
34+
switch (currentStep) {
35+
case CONST.EXPENSIFY_CARD.STEP.ASSIGNEE:
36+
return <AssigneeStep policy={policy} />;
37+
case CONST.EXPENSIFY_CARD.STEP.CARD_TYPE:
38+
return <CardTypeStep />;
39+
case CONST.EXPENSIFY_CARD.STEP.LIMIT_TYPE:
40+
return <LimitTypeStep policy={policy} />;
41+
case CONST.EXPENSIFY_CARD.STEP.LIMIT:
42+
return <LimitStep />;
43+
case CONST.EXPENSIFY_CARD.STEP.CARD_NAME:
44+
return <CardNameStep />;
45+
case CONST.EXPENSIFY_CARD.STEP.CONFIRMATION:
46+
return (
47+
<ConfirmationStep
48+
policyID={policyID}
49+
backTo={backTo}
50+
/>
51+
);
52+
default:
53+
return <AssigneeStep policy={policy} />;
54+
}
55+
};
56+
57+
return (
58+
<AccessOrNotFoundWrapper
59+
accessVariants={[CONST.POLICY.ACCESS_VARIANTS.ADMIN, CONST.POLICY.ACCESS_VARIANTS.PAID]}
60+
policyID={policyID}
61+
featureName={CONST.POLICY.MORE_FEATURES.ARE_EXPENSIFY_CARDS_ENABLED}
62+
>
63+
{getCurrentStep()}
64+
</AccessOrNotFoundWrapper>
65+
);
5366
}
5467

5568
IssueNewCardPage.displayName = 'IssueNewCardPage';

0 commit comments

Comments
 (0)