import React from 'react'; import { View, ActivityIndicator, Text } from 'react-native'; import { SQLiteProvider, openDatabaseSync } from 'expo-sqlite'; import { schema } from '@/lib/db/schema'; interface DatabaseProviderProps { children: React.ReactNode; } export function DatabaseProvider({ children }: DatabaseProviderProps) { const [isReady, setIsReady] = React.useState(false); const [error, setError] = React.useState(null); React.useEffect(() => { async function initDatabase() { try { console.log('[DB] Opening database...'); const db = openDatabaseSync('powr.db'); console.log('[DB] Creating schema...'); await schema.createTables(db); console.log('[DB] Database initialized successfully'); setIsReady(true); } catch (e) { console.error('[DB] Database initialization failed:', e); setError(e instanceof Error ? e.message : 'Database initialization failed'); } } initDatabase(); }, []); if (error) { return ( Database Error {error} ); } if (!isReady) { return ( Initializing Database... ); } return ( {children} ); }