diff options
Diffstat (limited to 'src/screens/Onboarding/state.ts')
-rw-r--r-- | src/screens/Onboarding/state.ts | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/src/screens/Onboarding/state.ts b/src/screens/Onboarding/state.ts index 9452fbbc7..3031dfbf4 100644 --- a/src/screens/Onboarding/state.ts +++ b/src/screens/Onboarding/state.ts @@ -13,6 +13,7 @@ export type OnboardingState = { | 'algoFeeds' | 'topicalFeeds' | 'moderation' + | 'profile' | 'finished' activeStepIndex: number @@ -30,6 +31,13 @@ export type OnboardingState = { feedUris: string[] } profileStepResults: { + image?: { + path: string + mime: string + size: number + width: number + height: number + } imageUri?: string imageMime?: string } @@ -64,6 +72,7 @@ export type OnboardingAction = } | { type: 'setProfileStepResults' + image?: OnboardingState['profileStepResults']['image'] imageUri: string imageMime: string } @@ -80,7 +89,7 @@ export type ApiResponseMap = { export const initialState: OnboardingState = { hasPrev: false, - totalSteps: 7, + totalSteps: 8, activeStep: 'interests', activeStepIndex: 1, @@ -102,6 +111,7 @@ export const initialState: OnboardingState = { feedUris: [], }, profileStepResults: { + image: undefined, imageUri: '', imageMime: '', }, @@ -168,8 +178,11 @@ export function reducer( next.activeStep = 'moderation' next.activeStepIndex = 6 } else if (s.activeStep === 'moderation') { - next.activeStep = 'finished' + next.activeStep = 'profile' next.activeStepIndex = 7 + } else if (s.activeStep === 'profile') { + next.activeStep = 'finished' + next.activeStepIndex = 8 } break } @@ -189,9 +202,12 @@ export function reducer( } else if (s.activeStep === 'moderation') { next.activeStep = 'topicalFeeds' next.activeStepIndex = 5 - } else if (s.activeStep === 'finished') { + } else if (s.activeStep === 'profile') { next.activeStep = 'moderation' next.activeStepIndex = 6 + } else if (s.activeStep === 'finished') { + next.activeStep = 'profile' + next.activeStepIndex = 7 } break } @@ -226,6 +242,14 @@ export function reducer( } break } + case 'setProfileStepResults': { + next.profileStepResults = { + image: a.image, + imageUri: a.imageUri, + imageMime: a.imageMime, + } + break + } } const state = { @@ -243,6 +267,7 @@ export function reducer( suggestedAccountsStepResults: state.suggestedAccountsStepResults, algoFeedsStepResults: state.algoFeedsStepResults, topicalFeedsStepResults: state.topicalFeedsStepResults, + profileStepResults: state.profileStepResults, }) if (s.activeStep !== state.activeStep) { @@ -276,6 +301,7 @@ export const initialStateReduced: OnboardingState = { feedUris: [], }, profileStepResults: { + image: undefined, imageUri: '', imageMime: '', }, @@ -330,6 +356,7 @@ export function reducerReduced( } case 'setProfileStepResults': { next.profileStepResults = { + image: a.image, imageUri: a.imageUri, imageMime: a.imageMime, } |