Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjust the Guided Setup Flow based on user's Sign Up Qualifier #47619

Merged
merged 33 commits into from
Oct 3, 2024
Merged
Changes from 1 commit
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
a458840
grabbing signupqualifer param
carlosmiceli Aug 19, 2024
adffd52
Merge branch 'main' into cm-guided-setup-flow
carlosmiceli Aug 19, 2024
108229b
adding new onyx key
carlosmiceli Aug 19, 2024
1f70dec
setting new onboarding choices/purpose nvp
carlosmiceli Aug 19, 2024
34c67a2
set nvp values with actions
carlosmiceli Aug 19, 2024
e13c625
fix prettier
carlosmiceli Aug 19, 2024
b4510f1
Merge branch 'main' into cm-guided-setup-flow
carlosmiceli Aug 20, 2024
e1eaefb
fix missing signupQualifier case
carlosmiceli Aug 20, 2024
d639cbe
fix lint
carlosmiceli Aug 20, 2024
ffc3d00
merge main, resolving conflicts
carlosmiceli Sep 25, 2024
c17d7c1
add setOnboardingCustomChoices
carlosmiceli Sep 25, 2024
80536b4
filter onboarding choices based for individual signups
carlosmiceli Sep 26, 2024
8b9d014
fix lint
carlosmiceli Sep 26, 2024
706a735
improving constants and types
carlosmiceli Sep 27, 2024
444208c
cleanup constants
carlosmiceli Sep 27, 2024
cd773f1
use constants and set custom choices
carlosmiceli Sep 27, 2024
0db9204
remove back button from onboarding work
carlosmiceli Sep 27, 2024
3051ffa
prettier
carlosmiceli Sep 27, 2024
b61e243
cleanup withOnyx
carlosmiceli Sep 27, 2024
600fe90
Merge branch 'main' into cm-guided-setup-flow
carlosmiceli Sep 27, 2024
4a79b6a
add route to onboarding work
carlosmiceli Sep 27, 2024
24cccd9
suggestions
carlosmiceli Sep 30, 2024
99a50d2
fix prettier
carlosmiceli Sep 30, 2024
1eeab2b
fix prettier
carlosmiceli Sep 30, 2024
9dbc6d7
Merge branch 'main' of github.com:Expensify/App into cm-guided-setup-…
carlosmiceli Sep 30, 2024
adb2cde
refactor code
carlosmiceli Sep 30, 2024
e8b7582
fix prettier again
carlosmiceli Sep 30, 2024
36b4cbf
code cleanup
carlosmiceli Oct 3, 2024
1da543a
fix double submit routing issue
carlosmiceli Oct 3, 2024
783f518
fix prettier
carlosmiceli Oct 3, 2024
ca04353
eslint
carlosmiceli Oct 3, 2024
f0c2b2a
Update src/pages/OnboardingPurpose/BaseOnboardingPurpose.tsx
carlosmiceli Oct 3, 2024
7622e11
minor refactoring per suggestions
carlosmiceli Oct 3, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
minor refactoring per suggestions
  • Loading branch information
carlosmiceli committed Oct 3, 2024
commit 7622e111a0ffe20029d7d5040ece29d206d545e8
3 changes: 2 additions & 1 deletion src/CONST.ts
Original file line number Diff line number Diff line change
@@ -88,7 +88,7 @@ const signupQualifiers = {
INDIVIDUAL: 'individual',
VSB: 'vsb',
SMB: 'smb',
};
} as const;

const onboardingEmployerOrSubmitMessage: OnboardingMessageType = {
message: 'Getting paid back is as easy as sending a message. Let’s go over the basics.',
@@ -4469,6 +4469,7 @@ const CONST = {

WELCOME_VIDEO_URL: `${CLOUDFRONT_URL}/videos/intro-1280.mp4`,

QUALIFIER_PARAM: 'signupQualifier',
ONBOARDING_INTRODUCTION: 'Let’s get you set up 🔧',
ONBOARDING_CHOICES: {...onboardingChoices},
SELECTABLE_ONBOARDING_CHOICES: {...selectableOnboardingChoices},
7 changes: 3 additions & 4 deletions src/libs/Navigation/AppNavigator/AuthScreens.tsx
Original file line number Diff line number Diff line change
@@ -275,10 +275,9 @@ function AuthScreens({session, lastOpenedPublicRoomID, initialLastUpdateIDApplie
}

let signupQualifier;
if (currentUrl.includes('signupQualifier')) {
signupQualifier = new URL(currentUrl).searchParams.get('signupQualifier');
}
if (signupQualifier) {
if (currentUrl.includes(CONST.QUALIFIER_PARAM)) {
signupQualifier = new URL(currentUrl).searchParams.get(CONST.QUALIFIER_PARAM);

if (signupQualifier === CONST.ONBOARDING_SIGNUP_QUALIFIERS.INDIVIDUAL) {
Welcome.setOnboardingCustomChoices([CONST.ONBOARDING_CHOICES.PERSONAL_SPEND, CONST.ONBOARDING_CHOICES.EMPLOYER, CONST.ONBOARDING_CHOICES.CHAT_SPLIT]);
}
2 changes: 1 addition & 1 deletion src/libs/actions/Welcome/OnboardingFlow.ts
Original file line number Diff line number Diff line change
@@ -115,7 +115,7 @@ function startOnboardingFlow() {

function getOnboardingInitialPath(): string {
const state = getStateFromPath(onboardingInitialPath, linkingConfig.config);
const showBusinessModal = onboardingValues && 'signupQualifier' in onboardingValues && onboardingValues.signupQualifier === CONST.ONBOARDING_SIGNUP_QUALIFIERS.VSB;
const showBusinessModal = onboardingValues && CONST.QUALIFIER_PARAM in onboardingValues && onboardingValues.signupQualifier === CONST.ONBOARDING_SIGNUP_QUALIFIERS.VSB;

if (showBusinessModal) {
return `/${ROUTES.ONBOARDING_WORK.route}`;
4 changes: 2 additions & 2 deletions src/pages/OnboardingWork/BaseOnboardingWork.tsx
Original file line number Diff line number Diff line change
@@ -36,7 +36,7 @@ function BaseOnboardingWork({shouldUseNativeStyles, route}: BaseOnboardingWorkPr
const {inputCallbackRef} = useAutoFocusInput();
const {isOffline} = useNetwork();

const vsbOnboarding = onboardingValues && 'signupQualifier' in onboardingValues && onboardingValues.signupQualifier === CONST.ONBOARDING_SIGNUP_QUALIFIERS.VSB;
const isVsbOnboarding = onboardingValues && CONST.QUALIFIER_PARAM in onboardingValues && onboardingValues.signupQualifier === CONST.ONBOARDING_SIGNUP_QUALIFIERS.VSB;

const completeEngagement = useCallback(
(values: FormOnyxValues<'onboardingWorkForm'>) => {
@@ -82,7 +82,7 @@ function BaseOnboardingWork({shouldUseNativeStyles, route}: BaseOnboardingWorkPr
style={[styles.defaultModalContainer, shouldUseNativeStyles && styles.pt8]}
>
<HeaderWithBackButton
shouldShowBackButton={!vsbOnboarding}
shouldShowBackButton={!isVsbOnboarding}
progressBarPercentage={onboardingPurposeSelected === CONST.ONBOARDING_CHOICES.MANAGE_TEAM ? 50 : 75}
onBackButtonPress={OnboardingFlow.goBack}
/>
5 changes: 4 additions & 1 deletion src/types/onyx/Onboarding.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
import type {ValueOf} from 'type-fest';
import type CONST from '@src/CONST';

/** Model of onboarding */
type Onboarding = {
/** ID of the report used to display the onboarding checklist message */
@@ -7,7 +10,7 @@ type Onboarding = {
hasCompletedGuidedSetupFlow: boolean;

/** A string that informs which qualifier the user selected during sign up */
signupQualifier: string;
signupQualifier: ValueOf<typeof CONST.ONBOARDING_SIGNUP_QUALIFIERS>;
};

export default Onboarding;