The Welcome Home Screen: Return Button (#9089)

* Implement button to return to user onboarding screen
* Add analytics events
* Increase stability of lazy loading test
This commit is contained in:
Janne Mareike Koschinski 2022-08-12 12:55:31 +02:00 committed by GitHub
parent 8db7766a40
commit 9eaf48b176
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 241 additions and 28 deletions

View file

@ -27,7 +27,7 @@ import { Notifier } from "../Notifier";
import PosthogTrackers from "../PosthogTrackers";
import { UseCase } from "../settings/enums/UseCase";
import { useSettingValue } from "./useSettings";
import { UserOnboardingContext, useUserOnboardingContext } from "./useUserOnboardingContext";
import { UserOnboardingContext } from "./useUserOnboardingContext";
export interface UserOnboardingTask {
id: string;
@ -140,13 +140,12 @@ const tasks: InternalUserOnboardingTask[] = [
},
];
export function useUserOnboardingTasks(): [UserOnboardingTask[], UserOnboardingTask[]] {
export function useUserOnboardingTasks(context: UserOnboardingContext): [UserOnboardingTask[], UserOnboardingTask[]] {
const useCase = useSettingValue<UseCase | null>("FTUE.useCaseSelection") ?? UseCase.Skip;
const relevantTasks = useMemo(
() => tasks.filter(it => !it.relevant || it.relevant.includes(useCase)),
[useCase],
);
const onboardingInfo = useUserOnboardingContext();
const completedTasks = relevantTasks.filter(it => onboardingInfo && it.completed(onboardingInfo));
const completedTasks = relevantTasks.filter(it => context && it.completed(context));
return [completedTasks, relevantTasks.filter(it => !completedTasks.includes(it))];
}