From 9396b08d9acee62b8128826940ffe1303d0bc1be Mon Sep 17 00:00:00 2001 From: daledah Date: Fri, 19 Jul 2024 00:04:24 +0700 Subject: [PATCH 1/5] fix: drop user to main chat screen after onboarding --- src/components/OnboardingWelcomeVideo.tsx | 13 +++++++++++++ .../Navigators/OnboardingModalNavigator.tsx | 6 +++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/components/OnboardingWelcomeVideo.tsx b/src/components/OnboardingWelcomeVideo.tsx index 47444d133166..b2776b541919 100644 --- a/src/components/OnboardingWelcomeVideo.tsx +++ b/src/components/OnboardingWelcomeVideo.tsx @@ -1,10 +1,17 @@ import React from 'react'; +import {useOnyx} from 'react-native-onyx'; import useLocalize from '@hooks/useLocalize'; +import useWindowDimensions from '@hooks/useWindowDimensions'; +import Navigation from '@libs/Navigation/Navigation'; import CONST from '@src/CONST'; +import ONYXKEYS from '@src/ONYXKEYS'; +import ROUTES from '@src/ROUTES'; import FeatureTrainingModal from './FeatureTrainingModal'; function OnboardingWelcomeVideo() { const {translate} = useLocalize(); + const [onboardingPurposeSelected] = useOnyx(ONYXKEYS.ONBOARDING_PURPOSE_SELECTED); + const {isSmallScreenWidth} = useWindowDimensions(); return ( { + if (onboardingPurposeSelected !== CONST.ONBOARDING_CHOICES.EMPLOYER || !isSmallScreenWidth) { + return; + } + Navigation.goBack(ROUTES.HOME, true, true); + }} /> ); } diff --git a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx index 29a2205b2e37..1b36a739f17d 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx @@ -14,9 +14,9 @@ import OnboardingRefManager from '@libs/OnboardingRefManager'; import OnboardingPersonalDetails from '@pages/OnboardingPersonalDetails'; import OnboardingPurpose from '@pages/OnboardingPurpose'; import OnboardingWork from '@pages/OnboardingWork'; -import * as Report from '@userActions/Report'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; +import ROUTES from '@src/ROUTES'; import SCREENS from '@src/SCREENS'; import Overlay from './Overlay'; @@ -42,8 +42,8 @@ function OnboardingModalNavigator() { Navigation.isNavigationReady().then(() => { // Need to go back to previous route and then redirect to Concierge, // otherwise going back on Concierge will go to onboarding and then redirected to Concierge again - Navigation.goBack(); - Report.navigateToConciergeChat(); + Navigation.setShouldPopAllStateOnUP(true); + Navigation.goBack(ROUTES.HOME, true, true); }); }, [hasCompletedGuidedSetupFlow]); From d81c68eb39e461dea0a4f411d17d86af6b5f12ef Mon Sep 17 00:00:00 2001 From: daledah Date: Wed, 24 Jul 2024 10:58:43 +0700 Subject: [PATCH 2/5] fix: revert OnboardingWelcomeVideo --- src/components/OnboardingWelcomeVideo.tsx | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/components/OnboardingWelcomeVideo.tsx b/src/components/OnboardingWelcomeVideo.tsx index b2776b541919..47444d133166 100644 --- a/src/components/OnboardingWelcomeVideo.tsx +++ b/src/components/OnboardingWelcomeVideo.tsx @@ -1,17 +1,10 @@ import React from 'react'; -import {useOnyx} from 'react-native-onyx'; import useLocalize from '@hooks/useLocalize'; -import useWindowDimensions from '@hooks/useWindowDimensions'; -import Navigation from '@libs/Navigation/Navigation'; import CONST from '@src/CONST'; -import ONYXKEYS from '@src/ONYXKEYS'; -import ROUTES from '@src/ROUTES'; import FeatureTrainingModal from './FeatureTrainingModal'; function OnboardingWelcomeVideo() { const {translate} = useLocalize(); - const [onboardingPurposeSelected] = useOnyx(ONYXKEYS.ONBOARDING_PURPOSE_SELECTED); - const {isSmallScreenWidth} = useWindowDimensions(); return ( { - if (onboardingPurposeSelected !== CONST.ONBOARDING_CHOICES.EMPLOYER || !isSmallScreenWidth) { - return; - } - Navigation.goBack(ROUTES.HOME, true, true); - }} /> ); } From 263938131f78821226788c44d5d440ee153e930a Mon Sep 17 00:00:00 2001 From: daledah Date: Wed, 24 Jul 2024 11:01:24 +0700 Subject: [PATCH 3/5] update OnboardingModalNavigator to handle small screen --- .../Navigators/OnboardingModalNavigator.tsx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx index 1b36a739f17d..f0c8d36b3bc7 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx @@ -7,6 +7,7 @@ import FocusTrapForScreens from '@components/FocusTrap/FocusTrapForScreen'; import useKeyboardShortcut from '@hooks/useKeyboardShortcut'; import useOnboardingLayout from '@hooks/useOnboardingLayout'; import useThemeStyles from '@hooks/useThemeStyles'; +import useWindowDimensions from '@hooks/useWindowDimensions'; import OnboardingModalNavigatorScreenOptions from '@libs/Navigation/AppNavigator/OnboardingModalNavigatorScreenOptions'; import Navigation from '@libs/Navigation/Navigation'; import type {OnboardingModalNavigatorParamList} from '@libs/Navigation/types'; @@ -34,6 +35,7 @@ function OnboardingModalNavigator() { return onboarding?.hasCompletedGuidedSetupFlow; }, }); + const {isSmallScreenWidth} = useWindowDimensions(); useEffect(() => { if (!hasCompletedGuidedSetupFlow) { @@ -42,10 +44,14 @@ function OnboardingModalNavigator() { Navigation.isNavigationReady().then(() => { // Need to go back to previous route and then redirect to Concierge, // otherwise going back on Concierge will go to onboarding and then redirected to Concierge again - Navigation.setShouldPopAllStateOnUP(true); - Navigation.goBack(ROUTES.HOME, true, true); + if (isSmallScreenWidth) { + Navigation.setShouldPopAllStateOnUP(true); + Navigation.goBack(ROUTES.HOME, true, true); + } else { + Navigation.goBack(); + } }); - }, [hasCompletedGuidedSetupFlow]); + }, [hasCompletedGuidedSetupFlow, isSmallScreenWidth]); const outerViewRef = React.useRef(null); From 3d348aacad7274a483f3b0a4c29e1fcc759306db Mon Sep 17 00:00:00 2001 From: daledah Date: Mon, 29 Jul 2024 18:18:46 +0700 Subject: [PATCH 4/5] fix: large screen navigate to concierge --- .../AppNavigator/Navigators/OnboardingModalNavigator.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx index 1ec6aaf8ecdf..2267de81a317 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx @@ -17,6 +17,7 @@ import OnboardingRefManager from '@libs/OnboardingRefManager'; import OnboardingPersonalDetails from '@pages/OnboardingPersonalDetails'; import OnboardingPurpose from '@pages/OnboardingPurpose'; import OnboardingWork from '@pages/OnboardingWork'; +import * as Report from '@userActions/Report'; import CONST from '@src/CONST'; import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; @@ -47,6 +48,7 @@ function OnboardingModalNavigator() { Navigation.goBack(ROUTES.HOME, true, true); } else { Navigation.goBack(); + Report.navigateToConciergeChat(); } }); }, [hasCompletedGuidedSetupFlow, isSmallScreenWidth]); From 212a61ec49bf6425ab9cdb43d29411849768b80f Mon Sep 17 00:00:00 2001 From: daledah Date: Tue, 30 Jul 2024 09:53:33 +0700 Subject: [PATCH 5/5] update comment --- .../AppNavigator/Navigators/OnboardingModalNavigator.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx index 2267de81a317..ab566df1111e 100644 --- a/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx +++ b/src/libs/Navigation/AppNavigator/Navigators/OnboardingModalNavigator.tsx @@ -41,7 +41,8 @@ function OnboardingModalNavigator() { return; } Navigation.isNavigationReady().then(() => { - // Need to go back to previous route and then redirect to Concierge, + // On small screens, pop all navigation states and go back to HOME. + // On large screens, need to go back to previous route and then redirect to Concierge, // otherwise going back on Concierge will go to onboarding and then redirected to Concierge again if (isSmallScreenWidth) { Navigation.setShouldPopAllStateOnUP(true);