aboutsummaryrefslogtreecommitdiff
path: root/packages/hooks
diff options
context:
space:
mode:
authorMaheshtheDev <[email protected]>2025-10-01 21:59:53 +0000
committerMaheshtheDev <[email protected]>2025-10-01 21:59:53 +0000
commit60794f63e2bde8a4298fe7677f9cad4942fab3ef (patch)
tree66f13d6d153ccb9c60eb5cb2476326374bc1c315 /packages/hooks
parentfeat: new onboarding flow (#408) (diff)
downloadsupermemory-60794f63e2bde8a4298fe7677f9cad4942fab3ef.tar.xz
supermemory-60794f63e2bde8a4298fe7677f9cad4942fab3ef.zip
UI: onboarding improvements (#435)09-23-ui_onboarding_improvements
UI: onboarding improvements ui(onboarding): updated onboarding ui patterns
Diffstat (limited to 'packages/hooks')
-rw-r--r--packages/hooks/use-onboarding-storage.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/hooks/use-onboarding-storage.ts b/packages/hooks/use-onboarding-storage.ts
new file mode 100644
index 00000000..ce7a155d
--- /dev/null
+++ b/packages/hooks/use-onboarding-storage.ts
@@ -0,0 +1,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,
+ }
+}