blob: ce7a155d716536b46a674c16d16632dd68ae4328 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
"use client"
import { useCallback, useEffect, useState } from "react"
const ONBOARDING_STORAGE_KEY = "supermemory_onboarding_completed"
export function useOnboardingStorage() {
const [isOnboardingCompleted, setIsOnboardingCompleted] = useState<
boolean | null
>(null)
useEffect(() => {
const completed = localStorage.getItem(ONBOARDING_STORAGE_KEY)
setIsOnboardingCompleted(completed === "true")
}, [])
const markOnboardingCompleted = useCallback(() => {
localStorage.setItem(ONBOARDING_STORAGE_KEY, "true")
setIsOnboardingCompleted(true)
}, [])
const shouldShowOnboarding = useCallback(() => {
if (isOnboardingCompleted === null) return null // Still loading
return !isOnboardingCompleted
}, [isOnboardingCompleted])
return {
isOnboardingCompleted,
markOnboardingCompleted,
shouldShowOnboarding,
isLoading: isOnboardingCompleted === null,
}
}
|