import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'config/api.dart'; import 'providers/auth_provider.dart'; import 'providers/map_provider.dart'; import 'providers/share_provider.dart'; import 'screens/login_screen.dart'; import 'screens/map_screen.dart'; import 'services/settings_service.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); final settings = SettingsService(); await settings.initialize(); ApiConfig.setBaseUrl(settings.baseUrl); runApp(MyApp(settingsService: settings)); } class MyApp extends StatelessWidget { final SettingsService settingsService; const MyApp({super.key, required this.settingsService}); @override Widget build(BuildContext context) { return MultiProvider( providers: [ Provider.value(value: settingsService), ChangeNotifierProvider(create: (_) => AuthProvider()), ChangeNotifierProvider(create: (_) => MapProvider()), ChangeNotifierProvider(create: (_) => ShareProvider()), ], child: MaterialApp( title: 'Family Safety', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), ), supportedLocales: const [ Locale('en', ''), ], initialRoute: '/', routes: { '/': (_) => const LoginScreen(), '/map': (_) => const MapScreen(), }, ), ); } }