Skip to content

Commit 5e2a9a5

Browse files
committed
update test branch
1 parent 3f70f73 commit 5e2a9a5

File tree

5 files changed

+17
-6
lines changed

5 files changed

+17
-6
lines changed

src/ROUTES.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -1943,7 +1943,10 @@ const ROUTES = {
19431943
route: 'workspace/confirmation',
19441944
getRoute: (backTo?: string) => getUrlWithBackToParam(`workspace/confirmation`, backTo),
19451945
},
1946-
MIGRATED_USER_WELCOME_MODAL: 'onboarding/migrated-user-welcome',
1946+
MIGRATED_USER_WELCOME_MODAL: {
1947+
route: 'onboarding/migrated-user-welcome',
1948+
getRoute: (isNavigationRoot: string) => getUrlWithBackToParam(`onboarding/migrated-user-welcome?${isNavigationRoot ? 'isNavigationRoot=true' : ''}`, undefined, false),
1949+
},
19471950

19481951
TRANSACTION_RECEIPT: {
19491952
route: 'r/:reportID/transaction/:transactionID/receipt/:action?/:iouType?',

src/components/MigratedUserWelcomeModal.tsx

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import {useRoute} from '@react-navigation/native';
12
import React, {useEffect, useLayoutEffect, useState} from 'react';
23
import {View} from 'react-native';
34
import {useOnyx} from 'react-native-onyx';
@@ -45,6 +46,8 @@ function OnboardingWelcomeVideo() {
4546
const {shouldUseNarrowLayout} = useResponsiveLayout();
4647
const [isModalDisabled, setIsModalDisabled] = useState(true);
4748

49+
const route = useRoute();
50+
4851
const [tryNewDot, tryNewDotMetadata] = useOnyx(ONYXKEYS.NVP_TRY_NEW_DOT, {
4952
selector: tryNewDotOnyxSelector,
5053
});
@@ -56,13 +59,13 @@ function OnboardingWelcomeVideo() {
5659
}
5760
const {hasBeenAddedToNudgeMigration} = tryNewDot ?? {};
5861

59-
if (hasBeenAddedToNudgeMigration && !dismissedProductTraining?.migratedUserWelcomeModal) {
62+
if ((hasBeenAddedToNudgeMigration && !dismissedProductTraining?.migratedUserWelcomeModal) || route?.params?.isNavigationRoot === 'true') {
6063
return;
6164
}
6265
setIsModalDisabled(false);
6366
const defaultCannedQuery = buildCannedSearchQuery();
6467
Navigation.navigate(ROUTES.SEARCH_ROOT.getRoute({query: defaultCannedQuery}));
65-
}, [dismissedProductTraining?.migratedUserWelcomeModal, setIsModalDisabled, tryNewDotMetadata, dismissedProductTrainingMetadata, tryNewDot]);
68+
}, [dismissedProductTraining?.migratedUserWelcomeModal, setIsModalDisabled, tryNewDotMetadata, dismissedProductTrainingMetadata, tryNewDot, route?.params?.isNavigationRoot]);
6669

6770
/**
6871
* Extracts values from the non-scraped attribute WEB_PROP_ATTR at build time

src/hooks/useOnboardingFlow.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ function useOnboardingFlowRouter() {
4949
const defaultCannedQuery = buildCannedSearchQuery();
5050
const query = defaultCannedQuery;
5151
Navigation.navigate(ROUTES.SEARCH_ROOT.getRoute({query}));
52-
Navigation.navigate(ROUTES.MIGRATED_USER_WELCOME_MODAL);
52+
Navigation.navigate(ROUTES.MIGRATED_USER_WELCOME_MODAL.route);
5353
return;
5454
}
5555

src/libs/Navigation/NavigationRoot.tsx

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {DarkTheme, DefaultTheme, findFocusedRoute, NavigationContainer} from '@react-navigation/native';
22
import type {NavigationState} from '@react-navigation/native';
33
import React, {useContext, useEffect, useMemo, useRef} from 'react';
4+
import {InteractionManager} from 'react-native';
45
import {useOnyx} from 'react-native-onyx';
56
import {ScrollOffsetContext} from '@components/ScrollOffsetContextProvider';
67
import useCurrentReportID from '@hooks/useCurrentReportID';
@@ -107,7 +108,11 @@ function NavigationRoot({authenticated, lastVisitedPath, initialUrl, onReady}: N
107108

108109
const initialState = useMemo(() => {
109110
const path = initialUrl ? getPathFromURL(initialUrl) : null;
110-
if (path?.includes(ROUTES.MIGRATED_USER_WELCOME_MODAL) && lastVisitedPath && isOnboardingCompleted && authenticated) {
111+
if (path?.includes(ROUTES.MIGRATED_USER_WELCOME_MODAL.route) && lastVisitedPath && isOnboardingCompleted && authenticated) {
112+
InteractionManager.runAfterInteractions(() => {
113+
Navigation.navigate(ROUTES.MIGRATED_USER_WELCOME_MODAL.getRoute('true'));
114+
});
115+
111116
return getAdaptedStateFromPath(lastVisitedPath, linkingConfig.config);
112117
}
113118

src/libs/Navigation/linkingConfig/config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ const config: LinkingOptions<RootNavigatorParamList>['config'] = {
7777
[NAVIGATORS.MIGRATED_USER_MODAL_NAVIGATOR]: {
7878
screens: {
7979
[SCREENS.MIGRATED_USER_WELCOME_MODAL.ROOT]: {
80-
path: ROUTES.MIGRATED_USER_WELCOME_MODAL,
80+
path: ROUTES.MIGRATED_USER_WELCOME_MODAL.route,
8181
exact: true,
8282
},
8383
},

0 commit comments

Comments
 (0)