From 9e6dc66075d9fa655af397af76ca67f25f89c960 Mon Sep 17 00:00:00 2001 From: "hanie.khodkari" Date: Tue, 13 Aug 2024 13:40:20 +0330 Subject: [PATCH] Fix qr code in of adding labels in add cycles.dart --- lib/providers/cycles.dart | 53 +++++++++++++++++++ .../CycleScreens/Add/add_label_box.dart | 21 ++------ 2 files changed, 56 insertions(+), 18 deletions(-) diff --git a/lib/providers/cycles.dart b/lib/providers/cycles.dart index 2d34d8c..904aa87 100755 --- a/lib/providers/cycles.dart +++ b/lib/providers/cycles.dart @@ -1,11 +1,15 @@ import 'dart:convert'; +import 'package:fluttertoast/fluttertoast.dart'; + import '../config/urls.dart'; import '../config/user.dart'; import '../models/cycles_models.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; +import '../pages/TestPages/test_filter_screen.dart'; + class CyclesProvider extends ChangeNotifier { List labelVals = []; List labelValues = []; @@ -41,6 +45,55 @@ class CyclesProvider extends ChangeNotifier { notifyListeners(); } + var isCorrectLabel = false; + + changeLabelValByScan(String value, int index) async { + labelVals.forEach((label) { + if (label == value) { + labelValues[index].text = label; + isCorrectLabel = true; + } + print("label value : $label"); + }); + notifyListeners(); + } + + void scanLabel(isEnabled, context, index) async { + await scan().then( + (String result) async { + if (result == 'cancel') { + if (index != 0) await removeLabelVal(); + print('cancel'); + } else if (result == 'error') { + print('error'); + } else if (result == 'access') { + print('access'); + } else { + await changeLabelValByScan(result, index); + isEnabled = false; + print("currect label : ${isCorrectLabel}"); + if (isCorrectLabel) { + Fluttertoast.showToast( + msg: "Label added.", + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.BOTTOM, + ); + scanLabel(isEnabled, context, index += 1); + await addLabelVal(); + isCorrectLabel = false; + } else { + Fluttertoast.showToast( + msg: "No label exists,try again!", + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.BOTTOM, + ); + scanLabel(isEnabled, context, index); + } + } + }, + ); + } + String searchBoxValue = ''; bool filterOn = false; List? items; diff --git a/lib/widgets/CycleScreens/Add/add_label_box.dart b/lib/widgets/CycleScreens/Add/add_label_box.dart index c86355a..1e31d41 100755 --- a/lib/widgets/CycleScreens/Add/add_label_box.dart +++ b/lib/widgets/CycleScreens/Add/add_label_box.dart @@ -1,8 +1,6 @@ -import 'package:cssd/utils/scan.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:provider/provider.dart'; - import '../../../providers/cycles.dart'; class AddLabelBox extends StatelessWidget { @@ -155,22 +153,9 @@ class AddLabelBox extends StatelessWidget { Spacer(), InkWell( onTap: () { - scan().then( - (String result) { - if (result == 'cancel') { - print('cancel'); - } else if (result == 'error') { - print('error'); - } else if (result == 'access') { - print('access'); - } else { - print(result); - Provider.of(context, - listen: false) - .changeLabelVal(result, index); - } - }, - ); + Provider.of(context, + listen: false) + .scanLabel(true, context, index); }, child: Container( padding: EdgeInsets.all(8),