diff --git a/lib/features/settings/screens/household_screen.dart b/lib/features/settings/screens/household_screen.dart index 8330508..e6eca4b 100644 --- a/lib/features/settings/screens/household_screen.dart +++ b/lib/features/settings/screens/household_screen.dart @@ -84,25 +84,37 @@ class _HouseholdScreenState extends State { ); if (result != null && result.isNotEmpty) { - // Create household in Firebase - final household = await _firebaseService.createHousehold(result, _settings!.userName!); + try { + // Create household in Firebase + final household = await _firebaseService.createHousehold(result, _settings!.userName!); - // Also save to local Hive for offline access - await HiveDatabase.saveHousehold(household); + // Also save to local Hive for offline access + await HiveDatabase.saveHousehold(household); - _settings!.currentHouseholdId = household.id; - await _settings!.save(); + _settings!.currentHouseholdId = household.id; + await _settings!.save(); - await _loadData(); + await _loadData(); - if (mounted) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text('Household created! Code: ${household.id}'), - backgroundColor: AppColors.success, - duration: const Duration(seconds: 5), - ), - ); + if (mounted) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text('Household created! Code: ${household.id}'), + backgroundColor: AppColors.success, + duration: const Duration(seconds: 5), + ), + ); + } + } catch (e) { + if (mounted) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text('Error creating household: ${e.toString().contains('firebase') ? 'Firebase not configured. See FIREBASE_SETUP.md' : e.toString()}'), + backgroundColor: AppColors.error, + duration: const Duration(seconds: 5), + ), + ); + } } } } diff --git a/lib/main.dart b/lib/main.dart index fb08f31..c1ef187 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -8,8 +8,15 @@ import 'features/home/screens/home_screen.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); - // Initialize Firebase - await Firebase.initializeApp(); + // Initialize Firebase (gracefully handle if not configured) + try { + await Firebase.initializeApp(); + print('✅ Firebase initialized successfully'); + } catch (e) { + print('⚠️ Firebase initialization failed: $e'); + print('Household sharing will not work without Firebase configuration.'); + print('See FIREBASE_SETUP.md for setup instructions.'); + } // Initialize Hive database await HiveDatabase.init();