import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:relationship_saver/core/config/app_theme.dart'; import 'package:relationship_saver/features/auth/session_controller.dart'; import 'package:relationship_saver/features/auth/sign_in_view.dart'; import 'package:relationship_saver/features/home/app_shell.dart'; import 'package:relationship_saver/features/sync/sync_background_runner.dart'; import 'package:relationship_saver/integrations/backend/models/backend_models.dart'; void main() { runApp(const ProviderScope(child: RelationshipSaverApp())); } class RelationshipSaverApp extends ConsumerWidget { const RelationshipSaverApp({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { final AsyncValue sessionState = ref.watch( sessionControllerProvider, ); return MaterialApp( title: 'Relationship Saver', debugShowCheckedModeBanner: false, theme: AppTheme.light(), home: Scaffold( body: sessionState.when( data: (session) => session == null ? const SignInView() : const SyncBackgroundRunner(child: AppShell()), loading: () => const Center(child: CircularProgressIndicator()), error: (Object error, StackTrace stackTrace) => const SignInView(), ), ), ); } }