// main.dart import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'core/routes/app_routes.dart'; import 'core/utils/logger.dart'; import 'core/utils/size_config.dart'; import 'data/repositories/auth_repository.dart'; import 'data/services/auth_service.dart'; import 'view_models/auth_view_model.dart'; void main() { // Initialize the logger appLogger.init(); // Log app start appLogger.info('🚀 Starting TM App...'); // appLogger.logNavigation('Home', 'Login'); runApp( MultiProvider( providers: [ Provider(create: (_) => AuthService()), ProxyProvider( update: (_, authService, __) => AuthRepository(authService), ), ChangeNotifierProvider( create: (context) => AuthViewModel( Provider.of(context, listen: false), ), ), ], child: const MyApp(), ), ); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { SizeConfig.init(context); return MaterialApp.router( title: 'Flutter Demo', theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), ), routerConfig: appRouter, ); } }