Files
cssd/lib/main.dart
T

212 lines
9.8 KiB
Dart
Executable File

// 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/rePass_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<Auth>(
builder: (ctx, auth, _) => Consumer<ConnectivityProvider>(
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(),
},
);
},
),
),
);
}
}