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