This commit is contained in:
2026-07-08 22:07:59 +02:00
parent 0b2305a3ad
commit 9be9b2987b
10 changed files with 349 additions and 268 deletions

View File

@@ -63,6 +63,8 @@ interface AppState {
getPendingPlant: () => { result: IdentificationResult; imageUri: string } | null;
guestScanCount: number;
incrementGuestScanCount: () => void;
hasCompletedOnboarding: boolean;
markOnboardingCompleted: () => void;
}
const AppContext = createContext<AppState | null>(null);
@@ -153,6 +155,7 @@ export const AppProvider: React.FC<{ children: React.ReactNode }> = ({ children
const [profileImageUri, setProfileImageUri] = useState<string | null>(null);
const [pendingPlant, setPendingPlantState] = useState<{ result: IdentificationResult; imageUri: string } | null>(null);
const [guestScanCount, setGuestScanCount] = useState(0);
const [hasCompletedOnboarding, setHasCompletedOnboarding] = useState(false);
const [isInitializing, setIsInitializing] = useState(true);
const [isLoadingPlants, setIsLoadingPlants] = useState(true);
const [billingSummary, setBillingSummary] = useState<BillingSummary | null>(null);
@@ -372,6 +375,10 @@ export const AppProvider: React.FC<{ children: React.ReactNode }> = ({ children
setGuestScanCount(parseInt(savedCount, 10) || 0);
}
if (AppMetaDb.get('onboarding_completed') === '1') {
setHasCompletedOnboarding(true);
}
const s = await AuthService.getSession();
if (!s) {
resetStateForSignedOutUser();
@@ -574,6 +581,11 @@ export const AppProvider: React.FC<{ children: React.ReactNode }> = ({ children
});
}, []);
const markOnboardingCompleted = useCallback(() => {
AppMetaDb.set('onboarding_completed', '1');
setHasCompletedOnboarding(true);
}, []);
return (
<AppContext.Provider value={{
session,
@@ -613,6 +625,8 @@ export const AppProvider: React.FC<{ children: React.ReactNode }> = ({ children
getPendingPlant,
guestScanCount,
incrementGuestScanCount,
hasCompletedOnboarding,
markOnboardingCompleted,
}}>
{children}
</AppContext.Provider>