Skip to content

Commit 5ec43b6

Browse files
committed
bar code scanner is replaced
1 parent 4002998 commit 5ec43b6

File tree

7 files changed

+547
-202
lines changed

7 files changed

+547
-202
lines changed

.vscode/settings.json

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,24 @@
11
{
2-
"dart.lineLength": 100,
3-
"diffEditor.ignoreTrimWhitespace": true,
4-
}
2+
"dart.lineLength": 100,
3+
"diffEditor.ignoreTrimWhitespace": true,
4+
"workbench.colorCustomizations": {
5+
"activityBar.activeBackground": "#55b9e8",
6+
"activityBar.background": "#55b9e8",
7+
"activityBar.foreground": "#15202b",
8+
"activityBar.inactiveForeground": "#15202b99",
9+
"activityBarBadge.background": "#c51b8e",
10+
"activityBarBadge.foreground": "#e7e7e7",
11+
"commandCenter.border": "#15202b99",
12+
"sash.hoverBorder": "#55b9e8",
13+
"statusBar.background": "#28a7e2",
14+
"statusBar.foreground": "#15202b",
15+
"statusBarItem.hoverBackground": "#1a89bd",
16+
"statusBarItem.remoteBackground": "#28a7e2",
17+
"statusBarItem.remoteForeground": "#15202b",
18+
"titleBar.activeBackground": "#28a7e2",
19+
"titleBar.activeForeground": "#15202b",
20+
"titleBar.inactiveBackground": "#28a7e299",
21+
"titleBar.inactiveForeground": "#15202b99"
22+
},
23+
"peacock.color": "#28a7e2"
24+
}

flatpak/scripts/pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,4 +82,4 @@ packages:
8282
source: hosted
8383
version: "1.3.1"
8484
sdks:
85-
dart: ">=2.18.5 <3.0.0"
85+
dart: ">=2.18.5 <4.0.0"

lib/main.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,12 @@ import 'package:wger/theme/theme.dart';
5050
import 'package:wger/widgets/core/about.dart';
5151

5252
import 'providers/auth.dart';
53+
import 'package:flutter/foundation.dart';
54+
import 'package:flutter_zxing/flutter_zxing.dart';
55+
5356

5457
void main() {
58+
zx.setLogEnabled(kDebugMode);
5559
// Needs to be called before runApp
5660
WidgetsFlutterBinding.ensureInitialized();
5761

lib/widgets/nutrition/widgets.dart

Lines changed: 42 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,48 @@
1616
* along with this program. If not, see <http://www.gnu.org/licenses/>.
1717
*/
1818

19+
import 'dart:developer';
20+
1921
import 'package:flutter/material.dart';
2022
import 'package:flutter/services.dart';
2123
import 'package:flutter_barcode_scanner/flutter_barcode_scanner.dart';
2224
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
2325
import 'package:flutter_typeahead/flutter_typeahead.dart';
26+
//import 'package:font_awesome_flutter/font_awesome_flutter.dart';
2427
import 'package:provider/provider.dart';
2528
import 'package:wger/helpers/consts.dart';
2629
import 'package:wger/helpers/platform.dart';
2730
import 'package:wger/helpers/ui.dart';
2831
import 'package:wger/providers/nutrition.dart';
2932
import 'package:wger/widgets/core/core.dart';
3033

34+
import 'package:flutter_zxing/flutter_zxing.dart';
35+
36+
class ScanReader extends StatelessWidget {
37+
String? scannedr;
38+
39+
@override
40+
Widget build(BuildContext context) {
41+
return Scaffold(
42+
body: ReaderWidget(
43+
onScan: (result) {
44+
debugPrint('Reader widget res : => ');
45+
scannedr = result.text;
46+
debugPrint(scannedr);
47+
Navigator.pop(context, scannedr);
48+
},
49+
),
50+
);
51+
}
52+
}
53+
3154
class IngredientTypeahead extends StatefulWidget {
3255
final TextEditingController _ingredientController;
3356
final TextEditingController _ingredientIdController;
3457

3558
String? barcode = '';
59+
Code? result;
60+
3661
late final bool? test;
3762
final bool showScanner;
3863

@@ -48,28 +73,24 @@ class IngredientTypeahead extends StatefulWidget {
4873
_IngredientTypeaheadState createState() => _IngredientTypeaheadState();
4974
}
5075

51-
Future<String> scanBarcode(BuildContext context) async {
52-
String barcode;
53-
try {
54-
barcode = await FlutterBarcodeScanner.scanBarcode(
55-
'#ff6666',
56-
AppLocalizations.of(context).close,
57-
true,
58-
ScanMode.BARCODE,
59-
);
76+
class _IngredientTypeaheadState extends State<IngredientTypeahead> {
77+
var _searchEnglish = true;
6078

61-
if (barcode.compareTo('-1') == 0) {
79+
Future<String> _readerscan(BuildContext context) async {
80+
String barcode;
81+
try {
82+
barcode =
83+
await Navigator.of(context).push(MaterialPageRoute(builder: (context) => ScanReader()));
84+
85+
if (barcode.compareTo('-1') == 0) {
86+
return '';
87+
}
88+
} on PlatformException {
6289
return '';
6390
}
64-
} on PlatformException {
65-
return '';
66-
}
6791

68-
return barcode;
69-
}
70-
71-
class _IngredientTypeaheadState extends State<IngredientTypeahead> {
72-
var _searchEnglish = true;
92+
return barcode;
93+
}
7394

7495
@override
7596
Widget build(BuildContext context) {
@@ -136,7 +157,8 @@ class _IngredientTypeaheadState extends State<IngredientTypeahead> {
136157
onPressed: () async {
137158
try {
138159
if (!widget.test!) {
139-
widget.barcode = await scanBarcode(context);
160+
// using navigation to call Reader Widget and return context(scan result)
161+
widget.barcode = await _readerscan(context);
140162
}
141163

142164
if (widget.barcode!.isNotEmpty) {
@@ -194,6 +216,7 @@ class _IngredientTypeaheadState extends State<IngredientTypeahead> {
194216
}
195217
}
196218
} catch (e) {
219+
debugPrint('scanner did not fire!! ');
197220
showErrorDialog(e, context);
198221
}
199222
},

linux/flutter/generated_plugins.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ list(APPEND FLUTTER_PLUGIN_LIST
77
)
88

99
list(APPEND FLUTTER_FFI_PLUGIN_LIST
10+
flutter_zxing
1011
)
1112

1213
set(PLUGIN_BUNDLED_LIBRARIES)

0 commit comments

Comments
 (0)