import 'package:flutter/material.dart'; import 'package:dynamic_color/dynamic_color.dart'; import 'services/settings_service.dart'; import 'services/api_service.dart'; import 'services/sms_reader_service.dart'; import 'screens/login_screen.dart'; import 'screens/home_screen.dart'; final apiService = ApiService(); final smsReaderService = SmsReaderService(); late SettingsService settings; void main() async { WidgetsFlutterBinding.ensureInitialized(); settings = await SettingsService.init(); if (settings.isConfigured) { apiService.configure(settings.serverUrl!, settings.token!); } runApp(const SmsMonitorApp()); } class SmsMonitorApp extends StatelessWidget { const SmsMonitorApp({super.key}); @override Widget build(BuildContext context) { return DynamicColorBuilder( builder: (ColorScheme? dynamicScheme) { final scheme = dynamicScheme?.harmonized() ?? ColorScheme.fromSeed(seedColor: Colors.indigo, brightness: Brightness.light); return MaterialApp( title: 'SMS Monitor', theme: ThemeData( colorScheme: scheme, useMaterial3: true, ), darkTheme: ThemeData( colorScheme: dynamicScheme?.harmonized() ?? ColorScheme.fromSeed( seedColor: Colors.indigo, brightness: Brightness.dark, ), useMaterial3: true, ), home: settings.isConfigured ? const HomeScreen() : const LoginScreen(), ); }, ); } }