From a2f4fc984fd8d0b9a44c4ffc6ce4c24c1d8cbe4b Mon Sep 17 00:00:00 2001 From: Vit Horacek Date: Wed, 11 Sep 2024 20:45:52 +0200 Subject: [PATCH 1/4] Remove free policy from the workspace initial page --- src/pages/workspace/WorkspaceInitialPage.tsx | 44 -------------------- 1 file changed, 44 deletions(-) diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index f88e387f0039e..0283c72b43b8b 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -165,51 +165,8 @@ function WorkspaceInitialPage({policyDraft, policy: policyProp, reimbursementAcc const {login} = useCurrentUserPersonalDetails(); const shouldShowProtectedItems = PolicyUtils.isPolicyAdmin(policy, login); const isPaidGroupPolicy = PolicyUtils.isPaidGroupPolicy(policy); - const isFreeGroupPolicy = PolicyUtils.isFreeGroupPolicy(policy); const [featureStates, setFeatureStates] = useState(policyFeatureStates); - const protectedFreePolicyMenuItems: WorkspaceMenuItem[] = [ - { - translationKey: 'workspace.common.card', - icon: Expensicons.ExpensifyCard, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_CARD.getRoute(policyID)))), - routeName: SCREENS.WORKSPACE.CARD, - }, - { - translationKey: 'workspace.common.reimburse', - icon: Expensicons.Receipt, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_REIMBURSE.getRoute(policyID)))), - routeName: SCREENS.WORKSPACE.REIMBURSE, - }, - { - translationKey: 'workspace.common.bills', - icon: Expensicons.Bill, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_BILLS.getRoute(policyID)))), - routeName: SCREENS.WORKSPACE.BILLS, - }, - { - translationKey: 'workspace.common.invoices', - icon: Expensicons.Invoice, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_INVOICES.getRoute(policyID)))), - routeName: SCREENS.WORKSPACE.INVOICES, - }, - { - translationKey: 'workspace.common.travel', - icon: Expensicons.Luggage, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_TRAVEL.getRoute(policyID)))), - routeName: SCREENS.WORKSPACE.TRAVEL, - }, - { - translationKey: 'workspace.common.bankAccount', - icon: Expensicons.Bank, - action: () => - policy?.outputCurrency === CONST.CURRENCY.USD - ? singleExecution(waitForNavigate(() => ReimbursementAccount.navigateToBankAccountRoute(policyID, Navigation.getActiveRouteWithoutParams())))() - : setIsCurrencyModalOpen(true), - brickRoadIndicator: !isEmptyObject(reimbursementAccount?.errors) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined, - }, - ]; - const protectedCollectPolicyMenuItems: WorkspaceMenuItem[] = []; // We only update feature states if they aren't pending. @@ -346,7 +303,6 @@ function WorkspaceInitialPage({policyDraft, policy: policyProp, reimbursementAcc routeName: SCREENS.WORKSPACE.MEMBERS, }, ...(isPaidGroupPolicy && shouldShowProtectedItems ? protectedCollectPolicyMenuItems : []), - ...(isFreeGroupPolicy && shouldShowProtectedItems ? protectedFreePolicyMenuItems : []), ]; const prevPolicy = usePrevious(policy); From 4639ba30c16feef9eb798c230d9fd8e0f033552d Mon Sep 17 00:00:00 2001 From: Vit Horacek Date: Wed, 11 Sep 2024 20:46:27 +0200 Subject: [PATCH 2/4] Use Expensify Card icon for the expensify card feature --- src/pages/workspace/WorkspaceInitialPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index 0283c72b43b8b..adea32a07580a 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -198,7 +198,7 @@ function WorkspaceInitialPage({policyDraft, policy: policyProp, reimbursementAcc if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_EXPENSIFY_CARDS_ENABLED]) { protectedCollectPolicyMenuItems.push({ translationKey: 'workspace.common.expensifyCard', - icon: Expensicons.CreditCard, + icon: Expensicons.ExpensifyCard, action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_EXPENSIFY_CARD.getRoute(policyID)))), routeName: SCREENS.WORKSPACE.EXPENSIFY_CARD, }); From fa38ea57244e52aa4581d086ba4ab17893363f75 Mon Sep 17 00:00:00 2001 From: Vit Horacek Date: Wed, 11 Sep 2024 20:50:42 +0200 Subject: [PATCH 3/4] Add padding to the top of the Connect bank account button --- src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx index 877582bedad52..cc80705534b23 100644 --- a/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx +++ b/src/pages/workspace/workflows/WorkspaceWorkflowsPage.tsx @@ -242,7 +242,7 @@ function WorkspaceWorkflowsPage({policy, route}: WorkspaceWorkflowsPageProps) { disabled={isOffline || !isPolicyAdmin} shouldGreyOutWhenDisabled={!policy?.pendingFields?.reimbursementChoice} shouldShowRightIcon={!isOffline && isPolicyAdmin} - wrapperStyle={[styles.sectionMenuItemTopDescription, styles.mbn3]} + wrapperStyle={[styles.sectionMenuItemTopDescription, styles.mt3, styles.mbn3]} displayInDefaultIconColor brickRoadIndicator={hasReimburserError ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined} /> From c2257714c5dbf58f3f61883d115496e6728a1dd9 Mon Sep 17 00:00:00 2001 From: Vit Horacek Date: Wed, 11 Sep 2024 21:58:15 +0200 Subject: [PATCH 4/4] remove the free plan reimbursement account --- src/pages/workspace/WorkspaceInitialPage.tsx | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index adea32a07580a..3c2bbe15a2d0e 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -71,9 +71,6 @@ type WorkspaceMenuItem = { }; type WorkspaceInitialPageOnyxProps = { - /** Bank account attached to free plan */ - reimbursementAccount: OnyxEntry; - /** Collection of categories attached to a policy */ policyCategories: OnyxEntry; }; @@ -91,7 +88,7 @@ function dismissError(policyID: string, pendingAction: PendingAction | undefined } } -function WorkspaceInitialPage({policyDraft, policy: policyProp, reimbursementAccount, policyCategories, route}: WorkspaceInitialPageProps) { +function WorkspaceInitialPage({policyDraft, policy: policyProp, policyCategories, route}: WorkspaceInitialPageProps) { const styles = useThemeStyles(); const policy = policyDraft?.id ? policyDraft : policyProp; const [isCurrencyModalOpen, setIsCurrencyModalOpen] = useState(false); @@ -431,10 +428,6 @@ WorkspaceInitialPage.displayName = 'WorkspaceInitialPage'; export default withPolicyAndFullscreenLoading( withOnyx({ - // @ts-expect-error: ONYXKEYS.REIMBURSEMENT_ACCOUNT is conflicting with ONYXKEYS.FORMS.REIMBURSEMENT_ACCOUNT_FORM - reimbursementAccount: { - key: ONYXKEYS.REIMBURSEMENT_ACCOUNT, - }, policyCategories: { key: ({route}) => `${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${route.params?.policyID ?? '-1'}`, },