UNPKG

create-automaticgpt-template

Version:

AutomaticGPT - A production-ready Expo template with AI chat, authentication, conversation management, analytics, and sharing features

44 lines (37 loc) 1.3 kB
import { useState, useCallback } from 'react'; import AsyncStorage from '@react-native-async-storage/async-storage'; const ONBOARDING_COMPLETED_KEY = '@onboarding_completed'; export function useOnboarding() { const [hasCompletedOnboarding, setHasCompletedOnboarding] = useState<boolean | null>(null); const checkOnboardingStatus = useCallback(async () => { try { const completed = await AsyncStorage.getItem(ONBOARDING_COMPLETED_KEY); setHasCompletedOnboarding(completed === 'true'); } catch (error) { console.error('Error checking onboarding status:', error); setHasCompletedOnboarding(false); } }, []); const completeOnboarding = useCallback(async () => { try { await AsyncStorage.setItem(ONBOARDING_COMPLETED_KEY, 'true'); setHasCompletedOnboarding(true); } catch (error) { console.error('Error completing onboarding:', error); } }, []); const resetOnboarding = useCallback(async () => { try { await AsyncStorage.removeItem(ONBOARDING_COMPLETED_KEY); setHasCompletedOnboarding(false); } catch (error) { console.error('Error resetting onboarding:', error); } }, []); return { hasCompletedOnboarding, checkOnboardingStatus, completeOnboarding, resetOnboarding, }; }