|
|
|
|
@ -30,10 +30,19 @@ class _LoginPageState extends State<LoginPage> {
|
|
|
|
|
SettingProvider _settingProvider;
|
|
|
|
|
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
|
|
|
|
|
|
|
|
|
bool rememberMe = false;
|
|
|
|
|
|
|
|
|
|
@override
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
_userProvider = Provider.of<UserProvider>(context);
|
|
|
|
|
_settingProvider = Provider.of<SettingProvider>(context);
|
|
|
|
|
if (_settingProvider == null) {
|
|
|
|
|
_settingProvider = Provider.of<SettingProvider>(context);
|
|
|
|
|
rememberMe = _settingProvider.rememberMe;
|
|
|
|
|
if (rememberMe) {
|
|
|
|
|
_user.userName = _settingProvider.username;
|
|
|
|
|
_user.password = _settingProvider.password;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Form(
|
|
|
|
|
key: _formKey,
|
|
|
|
|
@ -73,6 +82,20 @@ class _LoginPageState extends State<LoginPage> {
|
|
|
|
|
_user.password = value;
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
8.height,
|
|
|
|
|
Row(
|
|
|
|
|
children: [
|
|
|
|
|
Checkbox(
|
|
|
|
|
value: rememberMe,
|
|
|
|
|
activeColor: AppColor.blueStatus(context),
|
|
|
|
|
onChanged: (value) {
|
|
|
|
|
setState(() {
|
|
|
|
|
rememberMe = value;
|
|
|
|
|
});
|
|
|
|
|
}),
|
|
|
|
|
"Remember Me".bodyText(context).custom(color: context.isDark ? AppColor.primary50 : AppColor.neutral50).expanded,
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
16.height,
|
|
|
|
|
Align(
|
|
|
|
|
alignment: AlignmentDirectional.centerEnd,
|
|
|
|
|
@ -98,7 +121,8 @@ class _LoginPageState extends State<LoginPage> {
|
|
|
|
|
_formKey.currentState.save();
|
|
|
|
|
int status = await _userProvider.login(context: context, user: _user);
|
|
|
|
|
if (status >= 200 && status < 300 && _userProvider.user.isAuthenticated ?? false) {
|
|
|
|
|
_settingProvider.setUser(_userProvider.user);
|
|
|
|
|
await _settingProvider.setUser(_userProvider.user);
|
|
|
|
|
await _settingProvider.setRememberMe(_user.userName, _user.password, rememberMe);
|
|
|
|
|
|
|
|
|
|
/// The below line for the new design
|
|
|
|
|
// Navigator.pushNamed(context, LandPage.routeName);
|
|
|
|
|
|