67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
| 
								 | 
							
								import 'package:base_project/resources/app_colors.dart';
							 | 
						||
| 
								 | 
							
								import 'package:base_project/routes/route_names.dart';
							 | 
						||
| 
								 | 
							
								import 'package:base_project/view_model/auth/auth_view_model.dart';
							 | 
						||
| 
								 | 
							
								import 'package:base_project/view_model/profile/profile_view_model.dart';
							 | 
						||
| 
								 | 
							
								import 'package:base_project/view_model/system_params/system_params_view_model.dart';
							 | 
						||
| 
								 | 
							
								import 'package:flutter/material.dart';
							 | 
						||
| 
								 | 
							
								import 'package:flutter/services.dart';
							 | 
						||
| 
								 | 
							
								import 'package:provider/provider.dart';
							 | 
						||
| 
								 | 
							
								import 'routes/app_routes.dart';
							 | 
						||
| 
								 | 
							
								import 'utils/managers/user_manager.dart';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void main() async {
							 | 
						||
| 
								 | 
							
								  WidgetsFlutterBinding.ensureInitialized();
							 | 
						||
| 
								 | 
							
								  await UserManager().initialize();
							 | 
						||
| 
								 | 
							
								  SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  runApp(MultiProvider(
							 | 
						||
| 
								 | 
							
								    providers: [
							 | 
						||
| 
								 | 
							
								      ChangeNotifierProvider(
							 | 
						||
| 
								 | 
							
								        create: (context) => AuthViewModel(),
							 | 
						||
| 
								 | 
							
								      ),
							 | 
						||
| 
								 | 
							
								      ChangeNotifierProvider(
							 | 
						||
| 
								 | 
							
								        create: (context) => ProfileViewModel(),
							 | 
						||
| 
								 | 
							
								      ),
							 | 
						||
| 
								 | 
							
								      ChangeNotifierProvider(
							 | 
						||
| 
								 | 
							
								        create: (context) => SystemParamsViewModel(),
							 | 
						||
| 
								 | 
							
								      ),
							 | 
						||
| 
								 | 
							
								      // ChangeNotifierProvider(
							 | 
						||
| 
								 | 
							
								      //   create: (context) => BasicpViewModelScreen(),
							 | 
						||
| 
								 | 
							
								      // ),
							 | 
						||
| 
								 | 
							
								    ],
							 | 
						||
| 
								 | 
							
								    child: const MyApp(),
							 | 
						||
| 
								 | 
							
								  ));
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class MyApp extends StatelessWidget {
							 | 
						||
| 
								 | 
							
								  const MyApp({super.key});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  @override
							 | 
						||
| 
								 | 
							
								  Widget build(BuildContext context) {
							 | 
						||
| 
								 | 
							
								    // Set the navigation bar color when the app starts
							 | 
						||
| 
								 | 
							
								    SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
							 | 
						||
| 
								 | 
							
								      systemNavigationBarColor:
							 | 
						||
| 
								 | 
							
								          AppColors.primary, // Set your desired color here
							 | 
						||
| 
								 | 
							
								      systemNavigationBarIconBrightness: Brightness.light, // Icons color
							 | 
						||
| 
								 | 
							
								    ));
							 | 
						||
| 
								 | 
							
								    return MaterialApp(
							 | 
						||
| 
								 | 
							
								      theme: ThemeData(
							 | 
						||
| 
								 | 
							
								          primaryColor: AppColors.primary,
							 | 
						||
| 
								 | 
							
								          visualDensity: VisualDensity.adaptivePlatformDensity,
							 | 
						||
| 
								 | 
							
								          useMaterial3: false,
							 | 
						||
| 
								 | 
							
								          scaffoldBackgroundColor: Colors.grey[200],
							 | 
						||
| 
								 | 
							
								          drawerTheme: DrawerThemeData(backgroundColor: Colors.grey[200]),
							 | 
						||
| 
								 | 
							
								          iconTheme: const IconThemeData(color: AppColors.primary),
							 | 
						||
| 
								 | 
							
								          appBarTheme: const AppBarTheme(
							 | 
						||
| 
								 | 
							
								              scrolledUnderElevation: 0, backgroundColor: AppColors.primary)),
							 | 
						||
| 
								 | 
							
								      title: 'Base Project',
							 | 
						||
| 
								 | 
							
								      debugShowCheckedModeBanner: false,
							 | 
						||
| 
								 | 
							
								      //  home: const SysParameter(),
							 | 
						||
| 
								 | 
							
								      initialRoute: RouteNames.splashView,
							 | 
						||
| 
								 | 
							
								      onGenerateRoute: AppRoutes.generateRoutes,
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 |