diff --git a/Frontend/android/app/src/main/AndroidManifest.xml b/Frontend/android/app/src/main/AndroidManifest.xml
index 8470431f..6ece29d0 100644
--- a/Frontend/android/app/src/main/AndroidManifest.xml
+++ b/Frontend/android/app/src/main/AndroidManifest.xml
@@ -6,6 +6,8 @@
+
+
sms
tel
- NSCameraUsageDescription
- Camera permission is required for barcode scanning.
NSLocationWhenInUseUsageDescription
This app needs access to location when open.
CFBundleDevelopmentRegion
diff --git a/Frontend/lib/mih_components/mih_layout/mih_app_drawer.dart b/Frontend/lib/mih_components/mih_layout/mih_app_drawer.dart
index e2b97130..2e28b7a7 100644
--- a/Frontend/lib/mih_components/mih_layout/mih_app_drawer.dart
+++ b/Frontend/lib/mih_components/mih_layout/mih_app_drawer.dart
@@ -287,7 +287,11 @@ class _MIHAppDrawerState extends State {
});
if (await SuperTokens.doesSessionExist() ==
false) {
- Navigator.of(context).popAndPushNamed('/');
+ Navigator.of(context).pop();
+ Navigator.of(context).popAndPushNamed(
+ '/',
+ arguments: AuthArguments(true, false),
+ );
}
},
),
@@ -316,7 +320,12 @@ class _MIHAppDrawerState extends State {
.changeTheme(ThemeMode.dark);
//print("Dark Mode: $darkm");
}
- Navigator.of(context).popAndPushNamed('/');
+ Navigator.of(context).pop();
+ Navigator.of(context).popAndPushNamed(
+ '/',
+ arguments: AuthArguments(true, false),
+ );
+ // Navigator.of(context).popAndPushNamed('/',);
});
},
child: Image(image: logoThemeSwitch),
diff --git a/Frontend/lib/mih_env/env.dart b/Frontend/lib/mih_env/env.dart
index ceb8c81e..49b4161b 100644
--- a/Frontend/lib/mih_env/env.dart
+++ b/Frontend/lib/mih_env/env.dart
@@ -13,7 +13,8 @@ abstract class AppEnviroment {
switch (env) {
case Enviroment.dev:
{
- baseApiUrl = "http://10.0.2.2:8080"; //"http://localhost:8080";
+ baseApiUrl = "http://10.0.2.2:8080"; //Android
+ // baseApiUrl = "http://localhost:8080"; //Web
baseFileUrl = "http://10.0.2.2:9000"; //"http://localhost:9000";
whatsappAccessToken =
"EAAPINXuNFdYBOzBjTcvZA2iPXEHbHRF9uNXyP3ihkPRUcBqKNru5g9NKRRKkFaiaITEzO3BMo6CjdUmlDH4qYTW2mzDrZB4Q21ZCEZBgECZCu27vfaOXJZCYQLNxwoXkrZBRYv8ZAP37f69r3z9JxLQxdxn9gwqA3oNZAlBBRapJQzxOr6pZBTdI3bbjbu17ZBIwRcF4JCqPDCNLEZCI3bmHwEd2i2niNMYZD";
diff --git a/Frontend/lib/mih_packages/authentication/auth_check.dart b/Frontend/lib/mih_packages/authentication/auth_check.dart
index 9bc72592..2444b748 100644
--- a/Frontend/lib/mih_packages/authentication/auth_check.dart
+++ b/Frontend/lib/mih_packages/authentication/auth_check.dart
@@ -1,3 +1,4 @@
+import 'package:Mzansi_Innovation_Hub/mih_components/mih_pop_up_messages/mih_loading_circle.dart';
import 'package:Mzansi_Innovation_Hub/mih_packages/authentication/biometric_check.dart';
import 'package:flutter/material.dart';
@@ -62,8 +63,9 @@ class _AuthCheckState extends State {
} else if (snapshot.data == false) {
return const SignInOrRegister();
} else {
- return const SizedBox(width: 5, height: 5);
- //const Mihloadingcircle();
+ return
+ // const SizedBox(width: 5, height: 5);
+ const Mihloadingcircle();
}
});
},
diff --git a/Frontend/lib/mih_packages/authentication/biometric_check.dart b/Frontend/lib/mih_packages/authentication/biometric_check.dart
index c49a5bef..e440b3ee 100644
--- a/Frontend/lib/mih_packages/authentication/biometric_check.dart
+++ b/Frontend/lib/mih_packages/authentication/biometric_check.dart
@@ -112,6 +112,7 @@ class _BiometricCheckState extends State {
//Heading
Text(
'Biomentric Authentication',
+ textAlign: TextAlign.center,
style: TextStyle(
fontSize: 25,
fontWeight: FontWeight.bold,
@@ -182,6 +183,13 @@ class _BiometricCheckState extends State {
);
}
+ @override
+ void initState() {
+ // TODO: implement initState
+ super.initState();
+ if (widget.firstBoot == true) authenticateUser();
+ }
+
@override
Widget build(BuildContext context) {
if (MzanziInnovationHub.of(context)!.theme.getPlatform() == "Web") {
diff --git a/Frontend/lib/mih_packages/mih_home/mih_home.dart b/Frontend/lib/mih_packages/mih_home/mih_home.dart
index 65416371..e671a094 100644
--- a/Frontend/lib/mih_packages/mih_home/mih_home.dart
+++ b/Frontend/lib/mih_packages/mih_home/mih_home.dart
@@ -8,7 +8,9 @@ import 'package:flutter/services.dart';
import 'package:flutter_swipe_detector/flutter_swipe_detector.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:google_nav_bar/google_nav_bar.dart';
-import 'package:mobile_scanner/mobile_scanner.dart';
+import 'package:simple_barcode_scanner/simple_barcode_scanner.dart';
+// import 'package:simple_barcode_scanner/simple_barcode_scanner.dart';
+// import 'package:mobile_scanner/mobile_scanner.dart';
// import 'package:simple_barcode_scanner/screens/web.dart';
// import 'package:simple_barcode_scanner/simple_barcode_scanner.dart';
import '../../main.dart';
@@ -84,9 +86,9 @@ class _MIHHomeState extends State {
String appSearch = "";
int amount = 10;
final baseAPI = AppEnviroment.baseApiUrl;
- final MobileScannerController scannerController = MobileScannerController(
- // required options for the scanner
- );
+ // final MobileScannerController scannerController = MobileScannerController(
+ // // required options for the scanner
+ // );
void setAppsNewPersonal(List tileList) {
ImageProvider logo = MzanziInnovationHub.of(context)!.theme.logoImage();
@@ -417,14 +419,6 @@ class _MIHHomeState extends State {
));
}
- void foundCode(BarcodeCapture bcode) {
- if (bcode.barcodes.first.rawValue != null) {
- print(bcode.barcodes.first.rawValue);
- scannerController.stop();
- Navigator.of(context).pop();
- }
- }
-
void setAppsDev(List tileList) {
if (AppEnviroment.getEnv() == "Dev") {
tileList.add(MIHTile(
@@ -477,36 +471,37 @@ class _MIHHomeState extends State {
));
tileList.add(MIHTile(
onTap: () async {
- showDialog(
- barrierDismissible: false,
- context: context,
- builder: (context) {
- // return const MIHErrorMessage(errorType: "Input Error");
- // return const MIHErrorMessage(errorType: "Password Requirements");
- // return const MIHErrorMessage(errorType: "Invalid Username");
- // return const MIHErrorMessage(errorType: "Invalid Email");
- // return const MIHErrorMessage(errorType: "User Exists");
- // return const MIHErrorMessage(errorType: "Password Match");
- // return const MIHErrorMessage(errorType: "Invalid Credentials");
- return MIHWindow(
- fullscreen: false,
- windowTitle: "Scanner",
- windowBody: [
- SizedBox(
- height: 1000,
- child: MobileScanner(
- controller: scannerController,
- onDetect: foundCode,
- ),
- )
- ],
- windowTools: [],
- onWindowTapClose: () {
- Navigator.pop(context);
- },
+ if (MzanziInnovationHub.of(context)!.theme.getPlatform() == "Web") {
+ print("================ Web ====================");
+ print("here 1");
+ try {
+ String? res = await SimpleBarcodeScanner.scanBarcode(
+ context,
+ barcodeAppBar: const BarcodeAppBar(
+ appBarTitle: 'Scan Barcode',
+ centerTitle: true,
+ enableBackButton: true,
+ backButtonIcon: Icon(Icons.arrow_back),
+ ),
+ isShowFlashIcon: true,
+ delayMillis: 500,
+ cameraFace: CameraFace.back,
+ scanFormat: ScanFormat.ONLY_BARCODE,
);
- },
- );
+ if (res != null) {
+ print(res);
+ }
+ } catch (error) {
+ print(error);
+ }
+ } else {
+ TextEditingController cardNumberController =
+ TextEditingController();
+ Navigator.of(context).pushNamed(
+ '/scanner',
+ arguments: cardNumberController,
+ );
+ }
},
tileName: "Scanner - Dev",
tileIcon: Icon(
@@ -954,7 +949,7 @@ class _MIHHomeState extends State {
child: SizedBox(
child: MIHSearchField(
controller: searchController,
- hintText: "Search Mzansi Tiles",
+ hintText: "Search Mzansi Packages",
required: false,
editable: true,
onTap: () {
diff --git a/Frontend/lib/mih_packages/mzansi_profile/profile_user_update.dart b/Frontend/lib/mih_packages/mzansi_profile/profile_user_update.dart
index d62a1e3d..4150d3db 100644
--- a/Frontend/lib/mih_packages/mzansi_profile/profile_user_update.dart
+++ b/Frontend/lib/mih_packages/mzansi_profile/profile_user_update.dart
@@ -165,8 +165,10 @@ class _ProfileUserUpdateState extends State {
//print(response.statusCode);
if (response.statusCode == 200) {
Navigator.of(context).pop();
- Navigator.of(context)
- .popAndPushNamed('/', arguments: widget.arguments.signedInUser);
+ Navigator.of(context).popAndPushNamed(
+ '/',
+ arguments: AuthArguments(true, false),
+ );
String message =
"${widget.arguments.signedInUser.email}'s information has been updated successfully!";
successPopUp(message);
diff --git a/Frontend/lib/mih_packages/mzansi_wallet/loyalty_cards.dart b/Frontend/lib/mih_packages/mzansi_wallet/loyalty_cards.dart
index 61bb6520..6d68f971 100644
--- a/Frontend/lib/mih_packages/mzansi_wallet/loyalty_cards.dart
+++ b/Frontend/lib/mih_packages/mzansi_wallet/loyalty_cards.dart
@@ -11,8 +11,6 @@ import 'package:Mzansi_Innovation_Hub/mih_objects/loyalty_card.dart';
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_wallet/builder/build_loyalty_card_list.dart';
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_wallet/components/mih_card_display.dart';
import 'package:flutter/material.dart';
-// import 'package:flutter/services.dart';
-// import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';
import 'package:mobile_scanner/mobile_scanner.dart';
import 'package:simple_barcode_scanner/simple_barcode_scanner.dart';
@@ -33,7 +31,10 @@ class _LoyaltyCardsState extends State {
late Future> cardList;
//bool showSelectedCardType = false;
final ValueNotifier shopName = ValueNotifier("");
- final MobileScannerController scannerController = MobileScannerController();
+ final MobileScannerController scannerController = MobileScannerController(
+ detectionSpeed: DetectionSpeed.unrestricted,
+ );
+ final boxFit = BoxFit.contain;
void foundCode(BarcodeCapture bcode) {
if (bcode.barcodes.first.rawValue != null) {
@@ -46,30 +47,38 @@ class _LoyaltyCardsState extends State {
}
}
- void openscanner() {
- showDialog(
- barrierDismissible: false,
- context: context,
- builder: (context) {
- return MIHWindow(
- fullscreen: false,
- windowTitle: "Scanner",
- windowBody: [
- Expanded(
- child: MobileScanner(
- controller: scannerController,
- onDetect: foundCode,
- ),
- ),
- ],
- windowTools: [],
- onWindowTapClose: () {
- scannerController.stop();
- Navigator.pop(context);
- },
+ void openscanner() async {
+ if (MzanziInnovationHub.of(context)!.theme.getPlatform() == "Web") {
+ print("================ Web ====================");
+ print("here 1");
+ try {
+ String? res = await SimpleBarcodeScanner.scanBarcode(
+ context,
+ barcodeAppBar: const BarcodeAppBar(
+ appBarTitle: 'Scan Barcode',
+ centerTitle: true,
+ enableBackButton: true,
+ backButtonIcon: Icon(Icons.arrow_back),
+ ),
+ isShowFlashIcon: true,
+ delayMillis: 500,
+ cameraFace: CameraFace.back,
+ scanFormat: ScanFormat.ONLY_BARCODE,
);
- },
- );
+ if (res != null) {
+ setState(() {
+ cardNumberController.text = res;
+ });
+ }
+ } catch (error) {
+ print(error);
+ }
+ } else {
+ Navigator.of(context).pushNamed(
+ '/scanner',
+ arguments: cardNumberController,
+ );
+ }
}
void addCardWindow(BuildContext ctxt) {
@@ -145,48 +154,8 @@ class _LoyaltyCardsState extends State {
),
const SizedBox(width: 10),
MIHButton(
- onTap:
- // () async {
- // String bcodeScanResults;
- // try {
- // bcodeScanResults = await FlutterBarcodeScanner.scanBarcode(
- // '#ff6666',
- // 'Cancel',
- // true,
- // ScanMode.BARCODE,
- // );
- // } on PlatformException {
- // bcodeScanResults = "Platform not supported";
- // }
-
- // if (!mounted) return;
- // setState(() {
- // cardNumberController.text = bcodeScanResults;
- // });
- // },
- // () {
- // openscanner();
- // },
- () async {
- print("here");
- String? res = await SimpleBarcodeScanner.scanBarcode(
- context,
- barcodeAppBar: const BarcodeAppBar(
- appBarTitle: 'Scan Bardcode',
- centerTitle: true,
- enableBackButton: true,
- backButtonIcon: Icon(Icons.arrow_back),
- ),
- isShowFlashIcon: true,
- delayMillis: 500,
- cameraFace: CameraFace.back,
- scanFormat: ScanFormat.ONLY_BARCODE,
- );
- if (res != null) {
- setState(() {
- cardNumberController.text = res;
- });
- }
+ onTap: () async {
+ openscanner();
},
buttonText: "Scan",
buttonColor:
diff --git a/Frontend/lib/mih_packages/mzansi_wallet/mih_barcode_scanner.dart b/Frontend/lib/mih_packages/mzansi_wallet/mih_barcode_scanner.dart
new file mode 100644
index 00000000..e98efec0
--- /dev/null
+++ b/Frontend/lib/mih_packages/mzansi_wallet/mih_barcode_scanner.dart
@@ -0,0 +1,108 @@
+import 'package:Mzansi_Innovation_Hub/main.dart';
+import 'package:Mzansi_Innovation_Hub/mih_components/mih_inputs_and_buttons/mih_button.dart';
+import 'package:flutter/material.dart';
+import 'package:mobile_scanner/mobile_scanner.dart';
+
+class MihBarcodeScanner extends StatefulWidget {
+ final TextEditingController cardNumberController;
+ const MihBarcodeScanner({
+ super.key,
+ required this.cardNumberController,
+ });
+
+ @override
+ State createState() => _MihBarcodeScannerState();
+}
+
+class _MihBarcodeScannerState extends State {
+ final MobileScannerController scannerController = MobileScannerController(
+ detectionSpeed: DetectionSpeed.normal,
+ );
+
+ void foundCode(BarcodeCapture bcode) {
+ if (bcode.barcodes.first.rawValue != null) {
+ setState(() {
+ widget.cardNumberController.text = bcode.barcodes.first.rawValue!;
+ });
+ //print(bcode.barcodes.first.rawValue);
+ scannerController.stop();
+ Navigator.of(context).pop();
+ }
+ }
+
+ @override
+ Widget build(BuildContext context) {
+ return SafeArea(
+ child: Scaffold(
+ body: Stack(
+ children: [
+ MobileScanner(
+ onDetect: foundCode,
+ ),
+ Align(
+ alignment: Alignment.center,
+ child: Padding(
+ padding: const EdgeInsets.all(10.0),
+ child: Container(
+ width: 500,
+ height: 150,
+ decoration: BoxDecoration(
+ border: Border.all(
+ width: 5,
+ color: MzanziInnovationHub.of(context)!
+ .theme
+ .secondaryColor(),
+ ),
+ ),
+ ),
+ ),
+ ),
+ Align(
+ alignment: AlignmentDirectional.bottomCenter,
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.start,
+ children: [
+ Padding(
+ padding: const EdgeInsets.all(10.0),
+ child: MIHButton(
+ onTap: () {
+ scannerController.stop();
+ Navigator.of(context).pop();
+ },
+ buttonText: "Cancel",
+ buttonColor: MzanziInnovationHub.of(context)!
+ .theme
+ .secondaryColor(),
+ textColor:
+ MzanziInnovationHub.of(context)!.theme.primaryColor(),
+ ),
+ ),
+ // GestureDetector(
+ // onTap: () {
+ // scannerController.stop();
+ // Navigator.of(context).pop();
+ // },
+ // child: const Text(
+ // "Cancel",
+ // style: TextStyle(
+ // fontWeight: FontWeight.bold,
+ // fontSize: 25,
+ // ),
+ // ),
+ // ),
+ // IconButton(
+ // onPressed: () {},
+ // icon: const Icon(
+ // Icons.flip_camera_android,
+ // size: 30,
+ // ),
+ // ),
+ ],
+ ),
+ )
+ ],
+ ),
+ ),
+ );
+ }
+}
diff --git a/Frontend/lib/mih_packages/patient_profile/patient_view.dart b/Frontend/lib/mih_packages/patient_profile/patient_view.dart
index 0fbc9277..8b4f7ffe 100644
--- a/Frontend/lib/mih_packages/patient_profile/patient_view.dart
+++ b/Frontend/lib/mih_packages/patient_profile/patient_view.dart
@@ -287,7 +287,7 @@ class _PatientViewState extends State {
checkScreenSize();
return SwipeDetector(
onSwipeLeft: (offset) {
- if (_selectedIndex < 2) {
+ if (_selectedIndex < 3) {
setState(() {
_selectedIndex += 1;
});
diff --git a/Frontend/lib/mih_router/routeGenerator.dart b/Frontend/lib/mih_router/routeGenerator.dart
index 8ea87309..0256ad85 100644
--- a/Frontend/lib/mih_router/routeGenerator.dart
+++ b/Frontend/lib/mih_router/routeGenerator.dart
@@ -1,6 +1,7 @@
import 'package:Mzansi_Innovation_Hub/mih_packages/calculator/calculator.dart';
import 'package:Mzansi_Innovation_Hub/mih_packages/mih_policy_tos/mih_privacy_polocy.dart';
import 'package:Mzansi_Innovation_Hub/mih_packages/mih_policy_tos/mih_terms_of_service.dart';
+import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_wallet/mih_barcode_scanner.dart';
import 'package:Mzansi_Innovation_Hub/mih_packages/mzansi_wallet/mzansi_wallet.dart';
import 'package:flutter/material.dart';
import '../mih_components/mih_layout/mih_print_prevew.dart';
@@ -267,6 +268,22 @@ class RouteGenerator {
);
}
return _errorRoute();
+ //===============================================================
+
+ //Full Screen File Viewer
+ case '/scanner':
+ if (args is TextEditingController) {
+ return MaterialPageRoute(
+ settings: settings,
+ builder: (_) => MihBarcodeScanner(
+ cardNumberController: args,
+ ),
+ );
+ }
+ return _errorRoute();
+ //===============================================================
+
+ //Calculator
case '/calculator':
return MaterialPageRoute(
settings: settings,
diff --git a/Frontend/pubspec.lock b/Frontend/pubspec.lock
index a72646e3..71160a85 100644
--- a/Frontend/pubspec.lock
+++ b/Frontend/pubspec.lock
@@ -5,23 +5,23 @@ packages:
dependency: transitive
description:
name: _fe_analyzer_shared
- sha256: f256b0c0ba6c7577c15e2e4e114755640a875e885099367bf6e012b19314c834
+ sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab"
url: "https://pub.dev"
source: hosted
- version: "72.0.0"
+ version: "76.0.0"
_macros:
dependency: transitive
description: dart
source: sdk
- version: "0.3.2"
+ version: "0.3.3"
analyzer:
dependency: transitive
description:
name: analyzer
- sha256: b652861553cd3990d8ed361f7979dc6d7053a9ac8843fa73820ab68ce5410139
+ sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e"
url: "https://pub.dev"
source: hosted
- version: "6.7.0"
+ version: "6.11.0"
ansicolor:
dependency: transitive
description:
@@ -234,10 +234,10 @@ packages:
dependency: transitive
description:
name: collection
- sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
+ sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
url: "https://pub.dev"
source: hosted
- version: "1.18.0"
+ version: "1.19.0"
convert:
dependency: transitive
description:
@@ -617,18 +617,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
- sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
+ sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
url: "https://pub.dev"
source: hosted
- version: "10.0.5"
+ version: "10.0.7"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
- sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
+ sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
url: "https://pub.dev"
source: hosted
- version: "3.0.5"
+ version: "3.0.8"
leak_tracker_testing:
dependency: transitive
description:
@@ -697,10 +697,10 @@ packages:
dependency: transitive
description:
name: macros
- sha256: "0acaed5d6b7eab89f63350bccd82119e6c602df0f391260d0e32b5e23db79536"
+ sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656"
url: "https://pub.dev"
source: hosted
- version: "0.1.2-main.4"
+ version: "0.1.3-main.0"
matcher:
dependency: transitive
description:
@@ -1057,7 +1057,7 @@ packages:
dependency: transitive
description: flutter
source: sdk
- version: "0.0.99"
+ version: "0.0.0"
source_maps:
dependency: transitive
description:
@@ -1086,10 +1086,10 @@ packages:
dependency: transitive
description:
name: stack_trace
- sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
+ sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev"
source: hosted
- version: "1.11.1"
+ version: "1.12.0"
stream_channel:
dependency: transitive
description:
@@ -1110,10 +1110,10 @@ packages:
dependency: transitive
description:
name: string_scanner
- sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
+ sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev"
source: hosted
- version: "1.2.0"
+ version: "1.3.0"
supertokens_flutter:
dependency: "direct main"
description:
@@ -1214,10 +1214,10 @@ packages:
dependency: transitive
description:
name: test_api
- sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
+ sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev"
source: hosted
- version: "0.7.2"
+ version: "0.7.3"
timing:
dependency: transitive
description:
@@ -1342,10 +1342,10 @@ packages:
dependency: transitive
description:
name: vm_service
- sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
+ sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
url: "https://pub.dev"
source: hosted
- version: "14.2.5"
+ version: "14.3.0"
watcher:
dependency: transitive
description:
diff --git a/Frontend/pubspec.yaml b/Frontend/pubspec.yaml
index 4e00a862..f63441ca 100644
--- a/Frontend/pubspec.yaml
+++ b/Frontend/pubspec.yaml
@@ -16,11 +16,11 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix.
-version: 1.0.2+11
+version: 1.0.2+12
environment:
- sdk: '>=3.2.4 <4.0.0'
-
+ sdk: '>=3.5.3 <4.0.0'
+ # flutter: ">=1.17.0"
# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
# consider running `flutter pub upgrade --major-versions`. Alternatively,
@@ -64,7 +64,7 @@ dependencies:
mobile_scanner: ^6.0.2
flutter_launcher_icons: ^0.13.1
# flutter_barcode_scanner: ^2.0.0
- barcode_widget: ^2.0.4
+ barcode_widget: ^2.0.4 #Generate Barcodes
url_launcher: ^6.3.1
fl_downloader: ^2.0.2
local_auth: ^2.3.0