Files
Greenlens/services/onboardingProgressService.ts
2026-04-22 21:37:52 +02:00

45 lines
1.3 KiB
TypeScript

import { OnboardingProfileDb } from './database';
export type PersistentOnboardingStep = 'lexicon' | 'customize';
export const OnboardingProgressService = {
isStepCompleted(userId: number, step: PersistentOnboardingStep): boolean {
const profile = OnboardingProfileDb.get(userId);
return step === 'lexicon'
? profile.lexicon_explored === 1
: profile.customization_done === 1;
},
completeStep(userId: number, step: PersistentOnboardingStep): void {
if (step === 'lexicon') {
OnboardingProfileDb.setLexiconExplored(userId, true);
return;
}
OnboardingProfileDb.setCustomizationDone(userId, true);
},
getSignals(userId: number) {
const profile = OnboardingProfileDb.get(userId);
return {
lexiconExplored: profile.lexicon_explored === 1,
customizationDone: profile.customization_done === 1,
};
},
getAcquisitionSource(userId: number): string | null {
return OnboardingProfileDb.get(userId).acquisition_source;
},
setAcquisitionSource(userId: number, source: string): void {
OnboardingProfileDb.setAcquisitionSource(userId, source);
},
setPrimaryGoal(userId: number, goal: string): void {
OnboardingProfileDb.setPrimaryGoal(userId, goal);
},
setExperienceLevel(userId: number, level: string): void {
OnboardingProfileDb.setExperienceLevel(userId, level);
},
};