21 lines
537 B
TypeScript
21 lines
537 B
TypeScript
|
|
/**
|
||
|
|
* Onboarding state - prefers backend, falls back to localStorage for mock/offline.
|
||
|
|
*/
|
||
|
|
import { rpcClient } from '@/api/rpc-client'
|
||
|
|
|
||
|
|
export async function isOnboardingComplete(): Promise<boolean> {
|
||
|
|
try {
|
||
|
|
return await rpcClient.isOnboardingComplete()
|
||
|
|
} catch {
|
||
|
|
return localStorage.getItem('neode_onboarding_complete') === '1'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function completeOnboarding(): Promise<void> {
|
||
|
|
try {
|
||
|
|
await rpcClient.completeOnboarding()
|
||
|
|
} finally {
|
||
|
|
localStorage.setItem('neode_onboarding_complete', '1')
|
||
|
|
}
|
||
|
|
}
|