//general import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:aman_kassa_flutter/shared/app_colors.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/screenutil.dart'; import 'package:flutter_screenutil/screenutil_init.dart'; import 'package:google_fonts/google_fonts.dart'; //service & tools import 'package:aman_kassa_flutter/redux/store.dart'; import 'core/locator.dart'; import 'core/router.dart'; import 'core/services/navigator_service.dart'; import 'core/services/dialog_service.dart'; import './widgets/dialog_manager.dart'; //pages import 'views/start_up/start_up_view.dart'; //main start void main() async { WidgetsFlutterBinding.ensureInitialized(); //initialize locator await LocatorInjector.setupLocator(); LicenseRegistry.addLicense(() async* { final license = await rootBundle.loadString('assets/google_fonts/OFL.txt'); yield LicenseEntryWithLineBreaks(['google_fonts'], license); }); await Redux.init(); runApp(MainApplication()); } class MainApplication extends StatelessWidget { @override Widget build(BuildContext context) { return StoreProvider( store: Redux.store, child: ScreenUtilInit( designSize: Size(411.43, 683.43), allowFontScaling: false, child: MaterialApp( theme: ThemeData( backgroundColor: backgroundColor, primaryColor: primaryColor, accentColor: yellowColor, scaffoldBackgroundColor: Colors.white, textTheme: GoogleFonts.latoTextTheme( Theme.of(context).textTheme, ) ), debugShowCheckedModeBanner: false, builder: (context, child) => Navigator( key: locator().dialogNavigationKey, onGenerateRoute: (settings) => MaterialPageRoute( builder: (context) => DialogManager(child: child)), ), navigatorKey: locator().navigatorKey, home: StartUpView(), // first page onGenerateRoute: generateRoute, ), ), ); } }