From 2486deaaf2300254d325aeb54e6640acd9ff4289 Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Mon, 17 Mar 2025 10:37:29 +0700 Subject: [PATCH 1/3] fix: Features in Workspace LHN are not in the same order as --- src/pages/workspace/WorkspaceInitialPage.tsx | 28 ++++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index 50061827cb57..6ff8ff064da4 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -216,14 +216,14 @@ function WorkspaceInitialPage({policyDraft, policy: policyProp, route}: Workspac }); } - if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED]) { + if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED]) { protectedMenuItems.push({ - translationKey: 'workspace.common.workflows', - icon: Workflows, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_WORKFLOWS.getRoute(policyID)))), - screenName: SCREENS.WORKSPACE.WORKFLOWS, - brickRoadIndicator: !isEmptyObject(policy?.errorFields?.reimburser ?? {}) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined, - highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED, + translationKey: 'workspace.common.accounting', + icon: Sync, + action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.POLICY_ACCOUNTING.getRoute(policyID)))), + brickRoadIndicator: hasSyncError ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined, + screenName: SCREENS.WORKSPACE.ACCOUNTING.ROOT, + highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED, }); } @@ -292,14 +292,14 @@ function WorkspaceInitialPage({policyDraft, policy: policyProp, route}: Workspac }); } - if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED]) { + if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED]) { protectedMenuItems.push({ - translationKey: 'workspace.common.accounting', - icon: Sync, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.POLICY_ACCOUNTING.getRoute(policyID)))), - brickRoadIndicator: hasSyncError ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined, - screenName: SCREENS.WORKSPACE.ACCOUNTING.ROOT, - highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_CONNECTIONS_ENABLED, + translationKey: 'workspace.common.workflows', + icon: Workflows, + action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_WORKFLOWS.getRoute(policyID)))), + screenName: SCREENS.WORKSPACE.WORKFLOWS, + brickRoadIndicator: !isEmptyObject(policy?.errorFields?.reimburser ?? {}) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined, + highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED, }); } From 2ec553d498c8f9ca2f014ecdb8f39e1a1f1dcaee Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Tue, 18 Mar 2025 10:15:45 +0700 Subject: [PATCH 2/3] Change the order --- src/pages/workspace/WorkspaceInitialPage.tsx | 60 ++++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index 6ff8ff064da4..28703f38121b 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -227,29 +227,6 @@ function WorkspaceInitialPage({policyDraft, policy: policyProp, route}: Workspac }); } - if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_RULES_ENABLED]) { - protectedMenuItems.push({ - translationKey: 'workspace.common.rules', - icon: Feed, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_RULES.getRoute(policyID)))), - screenName: SCREENS.WORKSPACE.RULES, - highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_RULES_ENABLED, - }); - } - - if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_INVOICES_ENABLED]) { - const currencyCode = policy?.outputCurrency ?? CONST.CURRENCY.USD; - - protectedMenuItems.push({ - translationKey: 'workspace.common.invoices', - icon: InvoiceGeneric, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_INVOICES.getRoute(policyID)))), - screenName: SCREENS.WORKSPACE.INVOICES, - badgeText: convertToDisplayString(policy?.invoice?.bankAccount?.stripeConnectAccountBalance ?? 0, currencyCode), - highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_INVOICES_ENABLED, - }); - } - if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_CATEGORIES_ENABLED]) { protectedMenuItems.push({ translationKey: 'workspace.common.categories', @@ -292,14 +269,37 @@ function WorkspaceInitialPage({policyDraft, policy: policyProp, route}: Workspac }); } - if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED]) { + if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_INVOICES_ENABLED]) { + const currencyCode = policy?.outputCurrency ?? CONST.CURRENCY.USD; + + if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED]) { + protectedMenuItems.push({ + translationKey: 'workspace.common.workflows', + icon: Workflows, + action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_WORKFLOWS.getRoute(policyID)))), + screenName: SCREENS.WORKSPACE.WORKFLOWS, + brickRoadIndicator: !isEmptyObject(policy?.errorFields?.reimburser ?? {}) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined, + highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED, + }); + } + + if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_RULES_ENABLED]) { + protectedMenuItems.push({ + translationKey: 'workspace.common.rules', + icon: Feed, + action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_RULES.getRoute(policyID)))), + screenName: SCREENS.WORKSPACE.RULES, + highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_RULES_ENABLED, + }); + } + protectedMenuItems.push({ - translationKey: 'workspace.common.workflows', - icon: Workflows, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_WORKFLOWS.getRoute(policyID)))), - screenName: SCREENS.WORKSPACE.WORKFLOWS, - brickRoadIndicator: !isEmptyObject(policy?.errorFields?.reimburser ?? {}) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined, - highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED, + translationKey: 'workspace.common.invoices', + icon: InvoiceGeneric, + action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_INVOICES.getRoute(policyID)))), + screenName: SCREENS.WORKSPACE.INVOICES, + badgeText: convertToDisplayString(policy?.invoice?.bankAccount?.stripeConnectAccountBalance ?? 0, currencyCode), + highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_INVOICES_ENABLED, }); } From 62a623a755d9ed974c3d022a2d9824fdaa88e4ca Mon Sep 17 00:00:00 2001 From: nkdengineer Date: Sun, 23 Mar 2025 23:57:47 +0700 Subject: [PATCH 3/3] fix logic in init page --- src/pages/workspace/WorkspaceInitialPage.tsx | 43 ++++++++++---------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/src/pages/workspace/WorkspaceInitialPage.tsx b/src/pages/workspace/WorkspaceInitialPage.tsx index 87f9a22033f6..5a349171be75 100644 --- a/src/pages/workspace/WorkspaceInitialPage.tsx +++ b/src/pages/workspace/WorkspaceInitialPage.tsx @@ -272,30 +272,29 @@ function WorkspaceInitialPage({policyDraft, policy: policyProp, route}: Workspac }); } - if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_INVOICES_ENABLED]) { - const currencyCode = policy?.outputCurrency ?? CONST.CURRENCY.USD; - - if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED]) { - protectedMenuItems.push({ - translationKey: 'workspace.common.workflows', - icon: Workflows, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_WORKFLOWS.getRoute(policyID)))), - screenName: SCREENS.WORKSPACE.WORKFLOWS, - brickRoadIndicator: !isEmptyObject(policy?.errorFields?.reimburser ?? {}) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined, - highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED, - }); - } + if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED]) { + protectedMenuItems.push({ + translationKey: 'workspace.common.workflows', + icon: Workflows, + action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_WORKFLOWS.getRoute(policyID)))), + screenName: SCREENS.WORKSPACE.WORKFLOWS, + brickRoadIndicator: !isEmptyObject(policy?.errorFields?.reimburser ?? {}) ? CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR : undefined, + highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_WORKFLOWS_ENABLED, + }); + } - if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_RULES_ENABLED]) { - protectedMenuItems.push({ - translationKey: 'workspace.common.rules', - icon: Feed, - action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_RULES.getRoute(policyID)))), - screenName: SCREENS.WORKSPACE.RULES, - highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_RULES_ENABLED, - }); - } + if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_RULES_ENABLED]) { + protectedMenuItems.push({ + translationKey: 'workspace.common.rules', + icon: Feed, + action: singleExecution(waitForNavigate(() => Navigation.navigate(ROUTES.WORKSPACE_RULES.getRoute(policyID)))), + screenName: SCREENS.WORKSPACE.RULES, + highlighted: highlightedFeature === CONST.POLICY.MORE_FEATURES.ARE_RULES_ENABLED, + }); + } + if (featureStates?.[CONST.POLICY.MORE_FEATURES.ARE_INVOICES_ENABLED]) { + const currencyCode = policy?.outputCurrency ?? CONST.CURRENCY.USD; protectedMenuItems.push({ translationKey: 'workspace.common.invoices', icon: InvoiceGeneric,