import 'dart:io'; import 'package:manager_app/Models/managerContext.dart'; import 'package:manager_app/Screens/Main/main_screen.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'Screens/login_screen.dart'; import 'app_context.dart'; import 'constants.dart'; import 'package:window_size/window_size.dart'; Future main() async { String initialRoute; WidgetsFlutterBinding.ensureInitialized(); if (Platform.isWindows) { setWindowTitle("My Desktop App"); setWindowMinSize(Size(1100, 900)); setWindowMaxSize(Size(3840, 2160)); } initialRoute = '/welcome'; final MyApp myApp = MyApp( initialRoute: initialRoute, //context: localContext, ); runApp(myApp); } class MyApp extends StatefulWidget { final String initialRoute; final ManagerAppContext managerAppContext; MyApp({this.initialRoute, this.managerAppContext}); // This widget is the root of your application. @override _MyAppState createState() => _MyAppState(); } class _MyAppState extends State { @override Widget build(BuildContext context) { return ChangeNotifierProvider( create: (_) => AppContext(widget.managerAppContext), child: MaterialApp( debugShowCheckedModeBanner: false, title: 'Manager App Demo', initialRoute: widget.initialRoute, /*supportedLocales: [ const Locale('en', 'US'), //const Locale('fr', 'FR'), ],*/ theme: ThemeData( primarySwatch: Colors.blue, scaffoldBackgroundColor: kBackgroundColor, //fontFamily: "Vollkorn", textTheme: TextTheme(bodyText1: TextStyle(color: kBodyTextColor)), visualDensity: VisualDensity.adaptivePlatformDensity, ), routes: { '/welcome': (context) => LoginScreen(), '/main': (context) => MainScreen() } ), ); } }