@@ -16,18 +16,6 @@ import ONYXKEYS from '@src/ONYXKEYS';
1616import ROUTES from '@src/ROUTES' ;
1717import type { Locale , Onboarding } from '@src/types/onyx' ;
1818
19- let onboardingInitialPath = '' ;
20- const onboardingLastVisitedPathConnection = Onyx . connect ( {
21- key : ONYXKEYS . ONBOARDING_LAST_VISITED_PATH ,
22- callback : ( value ) => {
23- if ( value === undefined ) {
24- return ;
25- }
26- onboardingInitialPath = value ;
27- Onyx . disconnect ( onboardingLastVisitedPathConnection ) ;
28- } ,
29- } ) ;
30-
3119let onboardingValues : Onboarding ;
3220Onyx . connect ( {
3321 key : ONYXKEYS . NVP_ONBOARDING ,
@@ -48,6 +36,7 @@ type GetOnboardingInitialPathParamsType = {
4836 onboardingValuesParam ?: Onboarding ;
4937 currentOnboardingPurposeSelected : OnyxEntry < OnboardingPurpose > ;
5038 currentOnboardingCompanySize : OnyxEntry < OnboardingCompanySize > ;
39+ onboardingInitialPath : OnyxEntry < string > ;
5140} ;
5241
5342type OnboardingTaskLinks = Partial < {
@@ -103,14 +92,20 @@ function startOnboardingFlow(startOnboardingFlowParams: GetOnboardingInitialPath
10392}
10493
10594function getOnboardingInitialPath ( getOnboardingInitialPathParams : GetOnboardingInitialPathParamsType ) : string {
106- const { isUserFromPublicDomain, hasAccessiblePolicies, onboardingValuesParam, currentOnboardingPurposeSelected, currentOnboardingCompanySize} = getOnboardingInitialPathParams ;
95+ const {
96+ isUserFromPublicDomain,
97+ hasAccessiblePolicies,
98+ onboardingValuesParam,
99+ currentOnboardingPurposeSelected,
100+ currentOnboardingCompanySize,
101+ onboardingInitialPath = '' ,
102+ } = getOnboardingInitialPathParams ;
107103 const state = getStateFromPath ( onboardingInitialPath , linkingConfig . config ) ;
108104 const currentOnboardingValues = onboardingValuesParam ?? onboardingValues ;
109105 const isVsb = currentOnboardingValues ?. signupQualifier === CONST . ONBOARDING_SIGNUP_QUALIFIERS . VSB ;
110106 const isSmb = currentOnboardingValues ?. signupQualifier === CONST . ONBOARDING_SIGNUP_QUALIFIERS . SMB ;
111107 const isIndividual = currentOnboardingValues ?. signupQualifier === CONST . ONBOARDING_SIGNUP_QUALIFIERS . INDIVIDUAL ;
112108 const isCurrentOnboardingPurposeManageTeam = currentOnboardingPurposeSelected === CONST . ONBOARDING_CHOICES . MANAGE_TEAM ;
113- const isCurrentOnboardingCompanySizeMicro = currentOnboardingCompanySize === CONST . ONBOARDING_COMPANY_SIZE . MICRO ;
114109
115110 if ( isVsb ) {
116111 Onyx . set ( ONYXKEYS . ONBOARDING_PURPOSE_SELECTED , CONST . ONBOARDING_CHOICES . MANAGE_TEAM ) ;
@@ -146,7 +141,7 @@ function getOnboardingInitialPath(getOnboardingInitialPathParams: GetOnboardingI
146141 return `/${ ROUTES . ONBOARDING_PURPOSE . route } ` ;
147142 }
148143
149- if ( onboardingInitialPath . includes ( ROUTES . ONBOARDING_ACCOUNTING . route ) && ( ! isCurrentOnboardingPurposeManageTeam || ! isCurrentOnboardingCompanySizeMicro ) ) {
144+ if ( onboardingInitialPath . includes ( ROUTES . ONBOARDING_ACCOUNTING . route ) && ( ! isCurrentOnboardingPurposeManageTeam || ! currentOnboardingCompanySize ) ) {
150145 return `/${ ROUTES . ONBOARDING_PURPOSE . route } ` ;
151146 }
152147
@@ -395,8 +390,5 @@ const getOnboardingMessages = (locale?: Locale) => {
395390 } ;
396391} ;
397392
398- function clearInitialPath ( ) {
399- onboardingInitialPath = '' ;
400- }
401393export type { OnboardingMessage , OnboardingTask , OnboardingTaskLinks , OnboardingPurpose , OnboardingCompanySize } ;
402- export { getOnboardingInitialPath , startOnboardingFlow , clearInitialPath , getOnboardingMessages } ;
394+ export { getOnboardingInitialPath , startOnboardingFlow , getOnboardingMessages } ;
0 commit comments