import 'package:firebase_core/firebase_core.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'core/api/api_client.dart'; import 'core/auth/auth_bloc.dart'; import 'core/pairing/pairing_bloc.dart'; import 'firebase_options.dart'; import 'router.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform); runApp(const App()); } class App extends StatelessWidget { const App({super.key}); @override Widget build(BuildContext context) { final apiClient = ApiClient(); return MultiBlocProvider( providers: [ BlocProvider(create: (_) => AuthBloc(apiClient: apiClient)..add(AppStarted())), BlocProvider(create: (_) => PairingBloc(apiClient: apiClient)), RepositoryProvider.value(value: apiClient), ], child: BlocBuilder( builder: (context, state) { return MaterialApp.router( title: 'Halo Bestie', routerConfig: buildRouter(context.read()), ); }, ), ); } }