Skip to content

Commit 1bba92b

Browse files
Merge pull request Expensify#65615 from dukenv0307/fix/65508
The modal Take us to a test drive does not show
2 parents f327969 + f43d2c9 commit 1bba92b

7 files changed

Lines changed: 32 additions & 24 deletions

File tree

src/libs/navigateAfterOnboarding.ts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,16 @@ const navigateAfterOnboarding = (
5050
});
5151
};
5252

53-
export default navigateAfterOnboarding;
53+
const navigateAfterOnboardingWithMicrotaskQueue = (
54+
isSmallScreenWidth: boolean,
55+
canUseDefaultRooms: boolean | undefined,
56+
onboardingPolicyID?: string,
57+
onboardingAdminsChatReportID?: string,
58+
shouldPreventOpenAdminRoom = false,
59+
) => {
60+
Navigation.setNavigationActionToMicrotaskQueue(() => {
61+
navigateAfterOnboarding(isSmallScreenWidth, canUseDefaultRooms, onboardingPolicyID, onboardingAdminsChatReportID, shouldPreventOpenAdminRoom);
62+
});
63+
};
64+
65+
export {navigateAfterOnboarding, navigateAfterOnboardingWithMicrotaskQueue};

src/pages/OnboardingAccounting/BaseOnboardingAccounting.tsx

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ import {openOldDotLink} from '@libs/actions/Link';
2929
import {createWorkspace, generatePolicyID} from '@libs/actions/Policy/Policy';
3030
import {completeOnboarding} from '@libs/actions/Report';
3131
import {setOnboardingAdminsChatReportID, setOnboardingPolicyID} from '@libs/actions/Welcome';
32-
import navigateAfterOnboarding from '@libs/navigateAfterOnboarding';
32+
import {navigateAfterOnboardingWithMicrotaskQueue} from '@libs/navigateAfterOnboarding';
3333
import Navigation from '@libs/Navigation/Navigation';
3434
import {waitForIdle} from '@libs/Network/SequentialQueue';
3535
import {shouldOnboardingRedirectToOldDot} from '@libs/OnboardingUtils';
@@ -242,17 +242,15 @@ function BaseOnboardingAccounting({shouldUseNativeStyles}: BaseOnboardingAccount
242242
});
243243

244244
// We need to wait the policy is created before navigating out the onboarding flow
245-
Navigation.setNavigationActionToMicrotaskQueue(() => {
246-
navigateAfterOnboarding(
247-
isSmallScreenWidth,
248-
isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS),
249-
policyID,
250-
adminsChatReportID,
251-
// Onboarding tasks would show in Concierge instead of admins room for testing accounts, we should open where onboarding tasks are located
252-
// See https://github.com/Expensify/App/issues/57167 for more details
253-
(session?.email ?? '').includes('+'),
254-
);
255-
});
245+
navigateAfterOnboardingWithMicrotaskQueue(
246+
isSmallScreenWidth,
247+
isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS),
248+
policyID,
249+
adminsChatReportID,
250+
// Onboarding tasks would show in Concierge instead of admins room for testing accounts, we should open where onboarding tasks are located
251+
// See https://github.com/Expensify/App/issues/57167 for more details
252+
(session?.email ?? '').includes('+'),
253+
);
256254
}, [
257255
isBetaEnabled,
258256
isSmallScreenWidth,

src/pages/OnboardingPersonalDetails/BaseOnboardingPersonalDetails.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import usePermissions from '@hooks/usePermissions';
1616
import useResponsiveLayout from '@hooks/useResponsiveLayout';
1717
import useThemeStyles from '@hooks/useThemeStyles';
1818
import {addErrorMessage} from '@libs/ErrorUtils';
19-
import navigateAfterOnboarding from '@libs/navigateAfterOnboarding';
19+
import {navigateAfterOnboardingWithMicrotaskQueue} from '@libs/navigateAfterOnboarding';
2020
import Navigation from '@libs/Navigation/Navigation';
2121
import {isCurrentUserValidated} from '@libs/UserUtils';
2222
import {doesContainReservedWord, isValidDisplayName} from '@libs/ValidationUtils';
@@ -76,9 +76,7 @@ function BaseOnboardingPersonalDetails({currentUserPersonalDetails, shouldUseNat
7676
setOnboardingAdminsChatReportID();
7777
setOnboardingPolicyID();
7878

79-
Navigation.setNavigationActionToMicrotaskQueue(() =>
80-
navigateAfterOnboarding(isSmallScreenWidth, isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS), onboardingPolicyID, mergedAccountConciergeReportID),
81-
);
79+
navigateAfterOnboardingWithMicrotaskQueue(isSmallScreenWidth, isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS), onboardingPolicyID, mergedAccountConciergeReportID);
8280
},
8381
[onboardingPurposeSelected, onboardingAdminsChatReportID, onboardingMessages, onboardingPolicyID, isBetaEnabled, isSmallScreenWidth, mergedAccountConciergeReportID],
8482
);

src/pages/OnboardingWorkspaceInvite/BaseOnboardingWorkspaceInvite.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {READ_COMMANDS} from '@libs/API/types';
2525
import {canUseTouchScreen} from '@libs/DeviceCapabilities';
2626
import HttpUtils from '@libs/HttpUtils';
2727
import {appendCountryCode} from '@libs/LoginUtils';
28-
import navigateAfterOnboarding from '@libs/navigateAfterOnboarding';
28+
import {navigateAfterOnboardingWithMicrotaskQueue} from '@libs/navigateAfterOnboarding';
2929
import type {MemberForList} from '@libs/OptionsListUtils';
3030
import {filterAndOrderOptions, formatMemberForList, getHeaderMessage, getMemberInviteOptions, getSearchValueForPhoneOrEmail} from '@libs/OptionsListUtils';
3131
import {addSMSDomainIfPhoneNumber, parsePhoneNumber} from '@libs/PhoneNumber';
@@ -230,7 +230,7 @@ function BaseOnboardingWorkspaceInvite({shouldUseNativeStyles}: BaseOnboardingWo
230230
setOnboardingAdminsChatReportID();
231231
setOnboardingPolicyID();
232232

233-
navigateAfterOnboarding(
233+
navigateAfterOnboardingWithMicrotaskQueue(
234234
isSmallScreenWidth,
235235
isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS),
236236
onboardingPolicyID,

src/pages/OnboardingWorkspaceOptional/BaseOnboardingWorkspaceOptional.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import useOnyx from '@hooks/useOnyx';
1414
import usePermissions from '@hooks/usePermissions';
1515
import useResponsiveLayout from '@hooks/useResponsiveLayout';
1616
import useThemeStyles from '@hooks/useThemeStyles';
17-
import navigateAfterOnboarding from '@libs/navigateAfterOnboarding';
17+
import {navigateAfterOnboardingWithMicrotaskQueue} from '@libs/navigateAfterOnboarding';
1818
import Navigation from '@libs/Navigation/Navigation';
1919
import {completeOnboarding as completeOnboardingReport} from '@userActions/Report';
2020
import {setOnboardingAdminsChatReportID, setOnboardingErrorMessage, setOnboardingPolicyID} from '@userActions/Welcome';
@@ -87,7 +87,7 @@ function BaseOnboardingWorkspaceOptional({shouldUseNativeStyles}: BaseOnboarding
8787
setOnboardingAdminsChatReportID();
8888
setOnboardingPolicyID();
8989

90-
navigateAfterOnboarding(isSmallScreenWidth, isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS), onboardingPolicyID, mergedAccountConciergeReportID);
90+
navigateAfterOnboardingWithMicrotaskQueue(isSmallScreenWidth, isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS), onboardingPolicyID, mergedAccountConciergeReportID);
9191
}, [
9292
onboardingPurposeSelected,
9393
currentUserPersonalDetails.firstName,

src/pages/OnboardingWorkspaces/BaseOnboardingWorkspaces.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import useOnyx from '@hooks/useOnyx';
1515
import usePermissions from '@hooks/usePermissions';
1616
import useResponsiveLayout from '@hooks/useResponsiveLayout';
1717
import useThemeStyles from '@hooks/useThemeStyles';
18-
import navigateAfterOnboarding from '@libs/navigateAfterOnboarding';
18+
import {navigateAfterOnboardingWithMicrotaskQueue} from '@libs/navigateAfterOnboarding';
1919
import Navigation from '@libs/Navigation/Navigation';
2020
import {getDefaultWorkspaceAvatar} from '@libs/ReportUtils';
2121
import {isCurrentUserValidated} from '@libs/UserUtils';
@@ -68,7 +68,7 @@ function BaseOnboardingWorkspaces({route, shouldUseNativeStyles}: BaseOnboarding
6868
setOnboardingAdminsChatReportID();
6969
setOnboardingPolicyID(policy.policyID);
7070

71-
navigateAfterOnboarding(isSmallScreenWidth, isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS), policy.automaticJoiningEnabled ? policy.policyID : undefined);
71+
navigateAfterOnboardingWithMicrotaskQueue(isSmallScreenWidth, isBetaEnabled(CONST.BETAS.DEFAULT_ROOMS), policy.automaticJoiningEnabled ? policy.policyID : undefined);
7272
},
7373
[onboardingMessages, onboardingPersonalDetails?.firstName, onboardingPersonalDetails?.lastName, isSmallScreenWidth, isBetaEnabled],
7474
);

tests/unit/navigateAfterOnboardingTest.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {waitFor} from '@testing-library/react-native';
22
import type {OnyxEntry} from 'react-native-onyx';
33
import Onyx from 'react-native-onyx';
4-
import navigateAfterOnboarding from '@libs/navigateAfterOnboarding';
4+
import {navigateAfterOnboarding} from '@libs/navigateAfterOnboarding';
55
import Navigation from '@libs/Navigation/Navigation';
66
// eslint-disable-next-line no-restricted-syntax
77
import type * as ReportUtils from '@libs/ReportUtils';

0 commit comments

Comments
 (0)