Files
AppRecoleccion/lib/main.dart
2026-05-22 18:27:43 -06:00

58 lines
1.9 KiB
Dart

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'core/app_colors.dart';
import 'services/auth_service.dart';
import 'services/route_simulator_service.dart';
import 'screens/splash_screen.dart';
import 'screens/login_screen.dart';
import 'screens/register_screen.dart';
import 'screens/citizen/citizen_home_screen.dart';
import 'screens/driver/driver_home_screen.dart';
import 'screens/admin/admin_dashboard_screen.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
runApp(const CelayaLimpiaApp());
}
class CelayaLimpiaApp extends StatelessWidget {
const CelayaLimpiaApp({super.key});
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => AuthService()),
ChangeNotifierProvider(create: (_) => RouteSimulatorService()),
],
child: MaterialApp(
title: 'Celaya Limpia',
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
colorScheme: ColorScheme.fromSeed(
seedColor: AppColors.guindaPrimary,
primary: AppColors.guindaPrimary,
secondary: AppColors.dorado,
),
inputDecorationTheme: const InputDecorationTheme(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: AppColors.guindaPrimary, width: 2),
),
labelStyle: TextStyle(color: AppColors.guindaPrimary),
),
),
initialRoute: '/splash',
routes: {
'/splash': (_) => const SplashScreen(),
'/login': (_) => const LoginScreen(),
'/register': (_) => const RegisterScreen(),
'/home': (_) => const CitizenHomeScreen(),
'/driver': (_) => const DriverHomeScreen(),
'/admin': (_) => const AdminDashboardScreen(),
},
),
);
}
}