diff --git a/lib/pages/signin/pinlogin_page.dart b/lib/pages/signin/pinlogin_page.dart index e03d1e5..ae830af 100644 --- a/lib/pages/signin/pinlogin_page.dart +++ b/lib/pages/signin/pinlogin_page.dart @@ -1,4 +1,6 @@ +import 'package:fcs/domain/entities/user.dart'; import 'package:fcs/helpers/theme.dart'; +import 'package:fcs/pages/main/util.dart'; import 'package:fcs/pages/widgets/local_app_bar.dart'; import 'package:fcs/pages/widgets/local_button.dart'; import 'package:fcs/pages/widgets/local_text.dart'; @@ -7,6 +9,7 @@ import 'package:flutter/material.dart'; import 'package:pin_input_text_field/pin_input_text_field.dart'; class PinLoginPage extends StatefulWidget { + //final User user; const PinLoginPage({super.key}); @override @@ -16,12 +19,17 @@ class PinLoginPage extends StatefulWidget { class _PinLoginPageState extends State { bool _isLoading = false; late String pin; + //late User _user; TextEditingController _fcsIdCtl = new TextEditingController(); @override void initState() { - pin = ""; + //_user=widget.user; + //pin = _user.pinDigit ?? ""; super.initState(); + if (mounted) { + setState(() {}); + } } Widget build(BuildContext context) { @@ -59,18 +67,19 @@ class _PinLoginPageState extends State { padding: EdgeInsets.only(top: 30), child: LocalButton( textKey: "welcome.pinlogin", - callBack: () {}, + callBack: _login, ), ); return LocalProgress( inAsyncCall: _isLoading, child: new Scaffold( - appBar: LocalAppBar( - backgroundColor: null, - arrowColor: Colors.black, - ), + // appBar: LocalAppBar( + // backgroundColor: primaryColor, + + + // ), body: ListView( - padding: EdgeInsets.only(top: 20, left: 15, right: 15, bottom: 20), + padding: EdgeInsets.only(top: 80, left: 15, right: 15, bottom: 20), children: [ pinLoginLogo, Padding( @@ -117,4 +126,29 @@ class _PinLoginPageState extends State { this.pin = pin; }); } + _login() async { + if (pin == "") { + showMsgDialog(context, "Error", "Invalid PIN"); + return; + } + + if (pin.length < 6) { + showMsgDialog(context, "Error", "PIN must be 6 digits"); + return; + } + + setState(() { + _isLoading = true; + }); + + try { + Navigator.pop(context, true); + } catch (e) { + showMsgDialog(context, "Error", e.toString()); + } finally { + setState(() { + _isLoading = false; + }); + } + } }