import 'package:flutter/material.dart'; import 'package:queue_mgr/backend/DataManager.dart'; import 'package:queue_mgr/backend/Dialogs.dart'; class ScanningPage extends StatefulWidget { ScanningPage({super.key,required this.id}); String id; @override State createState() => _ScanningPageState(); } class _ScanningPageState extends State { int tokenID = 0; @override Widget build(BuildContext context) { Map service = DataManager.instance().GetServiceById(widget.id.toString()); return Scaffold( appBar: AppBar(title: Text("${service['name']} - Scan Mode"),), body: Padding( padding: const EdgeInsets.all(18.0), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Column( children: [ Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Icon(Icons.token), Text(" Token ID"), ], ), Text(tokenID.toString(),style: TextStyle(fontSize: 65),), LimitedBox( maxWidth: 300, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 30.0), child: GridView.count(crossAxisCount: 3,shrinkWrap: true,children: List.generate(9, (index){ return Padding( padding: const EdgeInsets.all(8.0), child: ElevatedButton(onPressed: (){OnButton(index+1);}, child: Text((index+1).toString(),style: TextStyle(fontSize: 20),)), ); }),), ), ), Container( height:95, width: 135, padding: const EdgeInsets.symmetric(horizontal: 30.0,vertical: 10), child: ElevatedButton(onPressed: (){OnButton(0);}, child: Text("0",style: TextStyle(fontSize: 20))), ) ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ ElevatedButton(onPressed: (){ tokenID=0; setState(() { }); }, child: Padding( padding: const EdgeInsets.all(18.0), child: Text("Clear",style: TextStyle(fontSize: 15)), ),), ElevatedButton(onPressed: () async{ Dialogs.waiting(context); String result = await DataManager.instance().CompleteService(widget.id, tokenID); tokenID=0; setState(() { }); Dialogs.hide(context); if(result == "0"){ //success }else{ Dialogs.showAlertDialog(context, "Error", result); } }, child: Padding( padding: const EdgeInsets.all(18.0), child: Text("Complete",style: TextStyle(fontSize: 15)), )) ], ) ], ), ), ); } void OnButton(int num){ tokenID = int.parse(tokenID.toString() + num.toString()); setState(() { }); } }