From e2a194484fba7ab56c08681a0e30d86d63b49914 Mon Sep 17 00:00:00 2001 From: Sorunome Date: Sun, 8 Aug 2021 19:30:51 +0200 Subject: [PATCH] fix: Wrap login form into `AutofillGroup` --- lib/pages/views/login_view.dart | 136 ++++++++++++++++---------------- 1 file changed, 69 insertions(+), 67 deletions(-) diff --git a/lib/pages/views/login_view.dart b/lib/pages/views/login_view.dart index 7a68715a..fffd7f91 100644 --- a/lib/pages/views/login_view.dart +++ b/lib/pages/views/login_view.dart @@ -26,78 +26,80 @@ class LoginView extends StatelessWidget { ), ), body: Builder(builder: (context) { - return ListView( - children: [ - Padding( - padding: const EdgeInsets.all(12.0), - child: TextField( - readOnly: controller.loading, - autocorrect: false, - autofocus: true, - onChanged: controller.checkWellKnownWithCoolDown, - controller: controller.usernameController, - autofillHints: - controller.loading ? null : [AutofillHints.username], - decoration: InputDecoration( - prefixIcon: Icon(Icons.account_box_outlined), - hintText: L10n.of(context).username, - errorText: controller.usernameError, - labelText: L10n.of(context).username), - ), - ), - Padding( - padding: const EdgeInsets.all(12.0), - child: TextField( - readOnly: controller.loading, - autocorrect: false, - autofillHints: - controller.loading ? null : [AutofillHints.password], - controller: controller.passwordController, - obscureText: !controller.showPassword, - onSubmitted: controller.login, - decoration: InputDecoration( - prefixIcon: Icon(Icons.lock_outlined), - hintText: '****', - errorText: controller.passwordError, - suffixIcon: IconButton( - tooltip: L10n.of(context).showPassword, - icon: Icon(controller.showPassword - ? Icons.visibility_off_outlined - : Icons.visibility_outlined), - onPressed: controller.toggleShowPassword, - ), - labelText: L10n.of(context).password, + return AutofillGroup( + child: ListView( + children: [ + Padding( + padding: const EdgeInsets.all(12.0), + child: TextField( + readOnly: controller.loading, + autocorrect: false, + autofocus: true, + onChanged: controller.checkWellKnownWithCoolDown, + controller: controller.usernameController, + autofillHints: + controller.loading ? null : [AutofillHints.username], + decoration: InputDecoration( + prefixIcon: Icon(Icons.account_box_outlined), + hintText: L10n.of(context).username, + errorText: controller.usernameError, + labelText: L10n.of(context).username), ), ), - ), - SizedBox(height: 12), - Hero( - tag: 'loginButton', - child: Padding( - padding: EdgeInsets.symmetric(horizontal: 12), - child: ElevatedButton( - onPressed: controller.loading - ? null - : () => controller.login(context), - child: controller.loading - ? LinearProgressIndicator() - : Text(L10n.of(context).login), - ), - ), - ), - Center( - child: TextButton( - onPressed: controller.passwordForgotten, - child: Text( - L10n.of(context).passwordForgotten, - style: TextStyle( - color: Colors.blue, - decoration: TextDecoration.underline, + Padding( + padding: const EdgeInsets.all(12.0), + child: TextField( + readOnly: controller.loading, + autocorrect: false, + autofillHints: + controller.loading ? null : [AutofillHints.password], + controller: controller.passwordController, + obscureText: !controller.showPassword, + onSubmitted: controller.login, + decoration: InputDecoration( + prefixIcon: Icon(Icons.lock_outlined), + hintText: '****', + errorText: controller.passwordError, + suffixIcon: IconButton( + tooltip: L10n.of(context).showPassword, + icon: Icon(controller.showPassword + ? Icons.visibility_off_outlined + : Icons.visibility_outlined), + onPressed: controller.toggleShowPassword, + ), + labelText: L10n.of(context).password, ), ), ), - ), - ], + SizedBox(height: 12), + Hero( + tag: 'loginButton', + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 12), + child: ElevatedButton( + onPressed: controller.loading + ? null + : () => controller.login(context), + child: controller.loading + ? LinearProgressIndicator() + : Text(L10n.of(context).login), + ), + ), + ), + Center( + child: TextButton( + onPressed: controller.passwordForgotten, + child: Text( + L10n.of(context).passwordForgotten, + style: TextStyle( + color: Colors.blue, + decoration: TextDecoration.underline, + ), + ), + ), + ), + ], + ), ); }), ),