Skip to content

Commit 812cb07

Browse files
authored
Merge pull request Expensify#64309 from nkdengineer/fix/63798
fix: remove Manager McTest tooltip for anyone already on a workspace
2 parents 8b65425 + 657465b commit 812cb07

3 files changed

Lines changed: 17 additions & 7 deletions

File tree

src/components/ProductTrainingContext/TOOLTIPS.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ type ShouldShowConditionProps = {
2727
isUserPolicyEmployee: boolean;
2828
isUserPolicyAdmin: boolean;
2929
hasBeenAddedToNudgeMigration: boolean;
30+
isUserInPaidPolicy: boolean;
3031
};
3132

3233
type TooltipData = {
@@ -138,7 +139,7 @@ const TOOLTIPS: Record<ProductTrainingTooltipName, TooltipData> = {
138139
onHideTooltip: () => dismissProductTraining(SCAN_TEST_TOOLTIP),
139140
name: SCAN_TEST_TOOLTIP,
140141
priority: 900,
141-
shouldShow: ({hasBeenAddedToNudgeMigration}) => !hasBeenAddedToNudgeMigration,
142+
shouldShow: ({isUserInPaidPolicy, hasBeenAddedToNudgeMigration}) => !isUserInPaidPolicy && !hasBeenAddedToNudgeMigration,
142143
shouldRenderActionButtons: true,
143144
},
144145
[SCAN_TEST_TOOLTIP_MANAGER]: {

src/components/ProductTrainingContext/index.tsx

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import useTheme from '@hooks/useTheme';
1313
import useThemeStyles from '@hooks/useThemeStyles';
1414
import {parseFSAttributes} from '@libs/Fullstory';
1515
import {hasCompletedGuidedSetupFlowSelector} from '@libs/onboardingSelectors';
16-
import {getActiveAdminWorkspaces, getActiveEmployeeWorkspaces} from '@libs/PolicyUtils';
16+
import {getActiveAdminWorkspaces, getActiveEmployeeWorkspaces, getGroupPaidPoliciesWithExpenseChatEnabled} from '@libs/PolicyUtils';
1717
import isProductTrainingElementDismissed from '@libs/TooltipUtils';
1818
import variables from '@styles/variables';
1919
import CONST from '@src/CONST';
@@ -117,6 +117,13 @@ function ProductTrainingContextProvider({children}: ChildrenProps) {
117117
return highestPriorityTooltip.name;
118118
}, [activeTooltips]);
119119

120+
const isUserInPaidPolicy = useMemo(() => {
121+
if (!allPolicies || !currentUserLogin || isLoadingOnyxValue(allPoliciesMetadata, currentUserLoginMetadata)) {
122+
return false;
123+
}
124+
return getGroupPaidPoliciesWithExpenseChatEnabled(allPolicies).length > 0;
125+
}, [allPolicies, currentUserLogin, allPoliciesMetadata, currentUserLoginMetadata]);
126+
120127
const shouldTooltipBeVisible = useCallback(
121128
(tooltipName: ProductTrainingTooltipName) => {
122129
if (isLoadingOnyxValue(isOnboardingCompletedMetadata) || isLoadingApp) {
@@ -154,18 +161,20 @@ function ProductTrainingContextProvider({children}: ChildrenProps) {
154161
isUserPolicyEmployee,
155162
isUserPolicyAdmin,
156163
hasBeenAddedToNudgeMigration,
164+
isUserInPaidPolicy,
157165
});
158166
},
159167
[
168+
isOnboardingCompletedMetadata,
169+
isLoadingApp,
160170
dismissedProductTraining,
161171
hasBeenAddedToNudgeMigration,
162172
isOnboardingCompleted,
163-
isOnboardingCompletedMetadata,
164-
shouldUseNarrowLayout,
165173
isModalVisible,
166-
isLoadingApp,
174+
shouldUseNarrowLayout,
167175
isUserPolicyEmployee,
168176
isUserPolicyAdmin,
177+
isUserInPaidPolicy,
169178
],
170179
);
171180

src/pages/iou/request/IOURequestStartPage.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import Navigation from '@libs/Navigation/Navigation';
1919
import OnyxTabNavigator, {TabScreenWithFocusTrapWrapper, TopTab} from '@libs/Navigation/OnyxTabNavigator';
2020
import {getIsUserSubmittedExpenseOrScannedReceipt} from '@libs/OptionsListUtils';
2121
import Performance from '@libs/Performance';
22-
import {getPerDiemCustomUnit, getPerDiemCustomUnits, isUserInvitedToWorkspace} from '@libs/PolicyUtils';
22+
import {getPerDiemCustomUnit, getPerDiemCustomUnits} from '@libs/PolicyUtils';
2323
import {getPayeeName} from '@libs/ReportUtils';
2424
import AccessOrNotFoundWrapper from '@pages/workspace/AccessOrNotFoundWrapper';
2525
import type {IOURequestType} from '@userActions/IOU';
@@ -153,7 +153,7 @@ function IOURequestStartPage({
153153
const setTestReceiptAndNavigateRef = useRef<() => void>(() => {});
154154
const {shouldShowProductTrainingTooltip, renderProductTrainingTooltip} = useProductTrainingContext(
155155
CONST.PRODUCT_TRAINING_TOOLTIP_NAMES.SCAN_TEST_TOOLTIP,
156-
!getIsUserSubmittedExpenseOrScannedReceipt() && isBetaEnabled(CONST.BETAS.NEWDOT_MANAGER_MCTEST) && selectedTab === CONST.TAB_REQUEST.SCAN && !isUserInvitedToWorkspace(),
156+
!getIsUserSubmittedExpenseOrScannedReceipt() && isBetaEnabled(CONST.BETAS.NEWDOT_MANAGER_MCTEST) && selectedTab === CONST.TAB_REQUEST.SCAN,
157157
{
158158
onConfirm: () => {
159159
setTestReceiptAndNavigateRef?.current?.();

0 commit comments

Comments
 (0)