import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:window_manager/window_manager.dart'; import 'package:trainhub_flutter/core/router/app_router.dart'; import 'package:trainhub_flutter/core/theme/app_theme.dart'; import 'package:trainhub_flutter/injection.dart' as di; void main() async { WidgetsFlutterBinding.ensureInitialized(); await windowManager.ensureInitialized(); // Initialize dependency injection di.init(); WindowOptions windowOptions = const WindowOptions( size: Size(1280, 800), minimumSize: Size(800, 600), center: true, backgroundColor: Colors.transparent, skipTaskbar: false, titleBarStyle: TitleBarStyle.normal, title: 'TrainHub', ); windowManager.waitUntilReadyToShow(windowOptions, () async { await windowManager.show(); await windowManager.focus(); }); runApp(const ProviderScope(child: TrainHubApp())); } class TrainHubApp extends StatelessWidget { const TrainHubApp({super.key}); @override Widget build(BuildContext context) { final appRouter = AppRouter(); return MaterialApp.router( title: 'TrainHub', theme: AppTheme.dark, routerConfig: appRouter.config(), debugShowCheckedModeBanner: false, ); } }