// import 'package:cssd/pages/CyclePages/cycle_update_screen.dart'; import 'package:cssd/pages/ItemPages/item_add_screen.dart'; import 'package:cssd/pages/ItemPages/item_detail_screen.dart'; import 'package:cssd/pages/ItemPages/item_filter_screen.dart'; import 'package:cssd/pages/ItemPages/item_result_screen.dart'; import 'package:cssd/pages/ItemPages/item_scan_screen.dart'; // import 'package:cssd/pages/ItemPages/item_update_screen.dart'; // import 'package:cssd/pages/LabelPages/label_update_screen.dart'; import 'package:cssd/pages/MyItemsPages/Result/my_items_result_screen.dart'; import 'package:cssd/pages/MyItemsPages/my_items_detail_screen.dart'; import 'package:cssd/pages/MyItemsPages/my_items_filter_screen.dart'; import 'package:cssd/pages/MyItemsPages/my_items_history_screen.dart'; import 'package:cssd/pages/MyItemsPages/my_items_scan_screen.dart'; import 'package:cssd/pages/MyItemsPages/my_items_transfer_screen.dart'; import 'package:cssd/pages/MyPackagesPages/Result/my_packages_result_screen.dart'; import 'package:cssd/pages/MyPackagesPages/my_packages_detail_screen.dart'; import 'package:cssd/pages/MyPackagesPages/my_packages_filter_screen.dart'; import 'package:cssd/pages/MyPackagesPages/my_packages_history_screen.dart'; import 'package:cssd/pages/MyPackagesPages/my_packages_scan_screen.dart'; import 'package:cssd/pages/MyPackagesPages/my_packages_transfer_screen.dart'; import 'package:cssd/pages/PackagePages/package_add_screen.dart'; import 'package:cssd/pages/PackagePages/package_detail_screen.dart'; import 'package:cssd/pages/PackagePages/package_filter_screen.dart'; import 'package:cssd/pages/PackagePages/package_result_screen.dart'; import 'package:cssd/pages/PackagePages/package_scan_screen.dart'; // import 'package:cssd/pages/PackagePages/package_update_screen.dart'; import 'package:cssd/pages/TestPages/test_form_page.dart'; import 'package:cssd/providers/items.dart'; import 'package:cssd/providers/my_items.dart'; import 'package:cssd/providers/my_packages.dart'; import 'package:cssd/providers/packages.dart'; import 'package:cssd/providers/users.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_downloader/flutter_downloader.dart'; import 'package:flutter_phoenix/flutter_phoenix.dart'; import 'package:provider/provider.dart'; import 'config/routes.dart'; import 'pages/CyclePages/cycle_add_screen.dart'; import 'pages/CyclePages/cycle_detail_screen.dart'; import 'pages/CyclePages/cycle_filter_screen.dart'; import 'pages/CyclePages/cycle_result_screen.dart'; import 'pages/CyclePages/cycle_scan_screen.dart'; import 'pages/LoginRegisterPages/forget_pass_screen.dart'; import 'pages/home_screen.dart'; import 'pages/LabelPages/label_add_screen.dart'; import 'pages/LabelPages/label_detail_screen.dart'; import 'pages/LabelPages/label_filter_screen.dart'; import 'pages/LabelPages/label_result_screen.dart'; import 'pages/LabelPages/label_scan_screen.dart'; import 'pages/LoginRegisterPages/login_screen.dart'; import 'pages/my_info_screen.dart'; import 'pages/LoginRegisterPages/re_pass_screen.dart'; import 'pages/TestPages/test_add_screen.dart'; import 'pages/TestPages/test_detail_screen.dart'; import 'pages/TestPages/test_filter_screen.dart'; import 'pages/TestPages/test_result_screen.dart'; import 'pages/TestPages/test_scan_screen.dart'; import 'pages/TestPages/test_verify_screen.dart'; import 'pages/LoginRegisterPages/verify_pass_screen.dart'; import 'providers/auth.dart'; import 'providers/connectivity.dart'; import 'providers/cycles.dart'; import 'providers/input.dart'; import 'providers/labels.dart'; import 'providers/my_info.dart'; import 'providers/test_results.dart'; import 'widgets/Global/splash_screen.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); SystemChrome.setPreferredOrientations([ DeviceOrientation.portraitUp, DeviceOrientation.portraitDown, ]); await FlutterDownloader.initialize( debug: true, ignoreSsl: true, ); runApp(Phoenix(child: MyApp())); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MultiProvider( providers: [ ChangeNotifierProvider.value( value: Auth(), ), ChangeNotifierProvider.value( value: TestResultsProvider(), ), ChangeNotifierProvider.value( value: Inputs(), ), ChangeNotifierProvider.value( value: MyInfoProvider(), ), ChangeNotifierProvider.value( value: LabelsProvider(), ), ChangeNotifierProvider.value( value: CyclesProvider(), ), ChangeNotifierProvider.value( value: ConnectivityProvider(), ), ChangeNotifierProvider.value( value: PackageProvider(), ), ChangeNotifierProvider.value( value: ItemProvider(), ), ChangeNotifierProvider.value( value: MyItemProvider(), ), ChangeNotifierProvider.value( value: MyPackageProvider(), ), ChangeNotifierProvider.value( value: UsersProvider(), ), ], child: Consumer( builder: (ctx, auth, _) => Consumer( builder: (ct, connection, _) { connection.checkConnection(); print(connection.conStatus); return MaterialApp( debugShowCheckedModeBanner: false, title: 'CSSD-DOC', theme: ThemeData( primaryColor: Colors.black, fontFamily: 'montserrat', ), home: auth.isAuth ? HomePage() : FutureBuilder( future: auth.tryAutoLogin(), builder: (ctx, authResultSnapshot) => authResultSnapshot.connectionState == ConnectionState.waiting ? SplashScreen() : LoginScreen(), ), routes: { Routes.homePage: (ctx) => HomePage(), Routes.loginScreen: (ctx) => LoginScreen(), Routes.forgetPassScreen: (ctx) => ForgetPassScreen(), Routes.myInfoScreen: (ctx) => MyInfoScreen(), Routes.testResultScreen: (ctx) => TestResultScreen(), Routes.testDetailsScreen: (ctx) => TestDetailsScreen(), Routes.testFilterScreen: (ctx) => TestFilterScreen(), Routes.testResultAddScreen: (ctx) => TestResultAddScreen(), Routes.labelDetailScreen: (ctx) => LabelDetailScreen(), Routes.cycleDetailScreen: (ctx) => CycleDetailScreen(), Routes.labelFilterScreen: (ctx) => LabelFilterScreen(), Routes.cycleFilterScreen: (ctx) => CycleFilterScreen(), Routes.cycleScanScreen: (ctx) => CycleScanScreen(), Routes.labelScanScreen: (ctx) => LabelScanScreen(), // Routes.labelUpdateScreen: (ctx) => LabelUpdateScreen(), Routes.cycleAddScreen: (ctx) => CycleAddScreen(), Routes.labelAddScreen: (ctx) => LabelAddScreen(), Routes.labelResultScreen: (ctx) => LabelResultScreen(), Routes.cycleResultScreen: (ctx) => CycleResultScreen(), Routes.testVerifyScreen: (ctx) => TestVerifyScreen(), Routes.testScanScreen: (ctx) => TestScanScreen(), Routes.sendCodeScreen: (ctx) => VerifyPassScreen(), Routes.rePassScreen: (ctx) => RePassScreen(), // Routes.captureImageScreen: (ctx) => CaptureImage(), Routes.packageAddScreen: (ctx) => PackageAddScreen(), Routes.packageResultScreen: (ctx) => PackageResultScreen(), Routes.packageDetailScreen: (ctx) => PackageDetailScreen(), Routes.packageFilterScreen: (ctx) => PackageFilterScreen(), Routes.itemResultScreen: (ctx) => ItemResultScreen(), Routes.itemAddScreen: (ctx) => ItemAddScreen(), Routes.itemFilterScreen: (ctx) => ItemFilterScreen(), Routes.itemDetailScreen: (ctx) => ItemDetailScreen(), Routes.formTestResultScreen: (ctx) => FormPage(), // Routes.cycleUpdateScreen: (ctx) => CycleUpdateScreen(), // Routes.packageUpdateScreen: (ctx) => PackageUpdateScreen(), // Routes.itemUpdateScreen: (ctx) => ItemUpdateScreen(), Routes.itemScanScreen: (ctx) => ItemScanScreen(), Routes.packageScanScreen: (ctx) => PackageScanScreen(), Routes.myItemsResultScreen: (ctx) => MyItemsResultScreen(), Routes.myItemsFilterScreen: (ctx) => MyItemsFilterScreen(), // Routes.myItemsDetailScreen: (ctx) => MyItemsDetailScreen(), Routes.itemsTransferScreen: (ctx) => ItemsTransferScreen(), Routes.myItemsScanScreen: (ctx) => MyItemsScanScreen(), Routes.myItemsHistoryScreen: (ctx) => MyItemsHistoryScreen(), Routes.myPackagesResultScreen: (ctx) => MyPackagesResultScreen(), Routes.myPackagesFilterScreen: (ctx) => MyPackageFilterScreen(), Routes.myPackagesDetailScreen: (ctx) => PackageDetailScreen(), Routes.packagesTransferScreen: (ctx) => PackageTransferScreen(), Routes.myPackagesHistoryScreen: (ctx) => MyPackagesHistoryScreen(), Routes.myPackagesScanScreen: (ctx) => MyPackagesScanScreen(), }, ); }, ), ), ); } }