import 'package:flutter_driver/driver_extension.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter/material.dart'; import 'package:flutter_redux/flutter_redux.dart'; import 'package:redux/redux.dart'; import 'package:invoiceninja/redux/app/app_reducer.dart'; import 'package:invoiceninja/redux/app/app_state.dart'; import 'package:invoiceninja/redux/auth/auth_middleware.dart'; import 'package:invoiceninja/redux/dashboard/dashboard_middleware.dart'; import 'package:invoiceninja/redux/product/product_middleware.dart'; import 'package:invoiceninja/utils/localization.dart'; //import 'package:redux_logging/redux_logging.dart'; void main() { enableFlutterDriverExtension(); final store = Store(appReducer, initialState: AppState(), middleware: [] ..addAll(createStoreAuthMiddleware()) ..addAll(createStoreDashboardMiddleware()) ..addAll(createStoreProductsMiddleware()) ..addAll([ //LoggingMiddleware.printer(), ])); runApp(new InvoiceNinjaApp(store: store)); } class InvoiceNinjaApp extends StatefulWidget { final Store store; InvoiceNinjaApp({Key key, this.store}) : super(key: key); @override _InvoiceNinjaAppState createState() => new _InvoiceNinjaAppState(); } class _InvoiceNinjaAppState extends State { @override Widget build(BuildContext context) { return new StoreProvider( store: widget.store, child: new MaterialApp( debugShowCheckedModeBanner: false, localizationsDelegates: [ const AppLocalizationsDelegate(), GlobalMaterialLocalizations.delegate, ], theme: ThemeData().copyWith( primaryColor: const Color(0xFF117cc1), primaryColorDark: const Color(0xFF005090), primaryColorLight: const Color(0xFF5dabf4), ), /* theme: ThemeData( brightness: Brightness.dark, accentColor: Colors.lightBlueAccent, ), */ title: 'Invoice Ninja', routes: { }, ), ); } }