59 lines
1.8 KiB
Dart
59 lines
1.8 KiB
Dart
//general
|
|
import 'package:flutter_redux/flutter_redux.dart';
|
|
|
|
import 'package:aman_kassa_flutter/shared/app_colors.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:google_fonts/google_fonts.dart';
|
|
import 'package:provider/provider.dart';
|
|
//service & tools
|
|
import 'package:redux/redux.dart';
|
|
import 'package:aman_kassa_flutter/redux/store.dart';
|
|
import 'core/locator.dart';
|
|
import 'core/providers.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();
|
|
|
|
await Redux.init();
|
|
runApp(MainApplication());
|
|
}
|
|
|
|
class MainApplication extends StatelessWidget {
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return StoreProvider<AppState>(
|
|
store: Redux.store,
|
|
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<DialogService>().dialogNavigationKey,
|
|
onGenerateRoute: (settings) => MaterialPageRoute(
|
|
builder: (context) => DialogManager(child: child)),
|
|
),
|
|
navigatorKey: locator<NavigatorService>().navigatorKey,
|
|
home: StartUpView(), // first page
|
|
onGenerateRoute: generateRoute,
|
|
),
|
|
);
|
|
}
|
|
} |