Forráskód Böngészése

fix: make ui adaptive to bigger font sizes in password re entry page (#1736)

Neeraj Gupta 1 éve
szülő
commit
54ed92fbfb
1 módosított fájl, 73 hozzáadás és 82 törlés
  1. 73 82
      lib/ui/account/password_reentry_page.dart

+ 73 - 82
lib/ui/account/password_reentry_page.dart

@@ -42,7 +42,7 @@ class _PasswordReentryPageState extends State<PasswordReentryPage> {
       _passwordController.text = _volatilePassword!;
       Future.delayed(
         Duration.zero,
-            () => verifyPassword(_volatilePassword!),
+        () => verifyPassword(_volatilePassword!),
       );
     }
     _passwordFocusNode.addListener(() {
@@ -100,69 +100,68 @@ class _PasswordReentryPageState extends State<PasswordReentryPage> {
   }
 
   Future<void> verifyPassword(String password) async {
-      FocusScope.of(context).unfocus();
-      final dialog =
-      createProgressDialog(context, S.of(context).pleaseWait);
-      await dialog.show();
-      try {
-        final kek = await Configuration.instance.decryptSecretsAndGetKeyEncKey(
-          password,
-          Configuration.instance.getKeyAttributes()!,
-        );
-        _registerSRPForExistingUsers(kek).ignore();
-      } on KeyDerivationError catch (e, s) {
-        _logger.severe("Password verification failed", e, s);
-        await dialog.hide();
-        final dialogChoice = await showChoiceDialog(
-          context,
-          title: S.of(context).recreatePasswordTitle,
-          body: S.of(context).recreatePasswordBody,
-          firstButtonLabel: S.of(context).useRecoveryKey,
-        );
-        if (dialogChoice!.action == ButtonAction.first) {
-          // ignore: unawaited_futures
-          Navigator.of(context).push(
-            MaterialPageRoute(
-              builder: (BuildContext context) {
-                return const RecoveryPage();
-              },
-            ),
-          );
-        }
-        return;
-      } catch (e, s) {
-        _logger.severe("Password verification failed", e, s);
-        await dialog.hide();
-        final dialogChoice = await showChoiceDialog(
-          context,
-          title: S.of(context).incorrectPasswordTitle,
-          body: S.of(context).pleaseTryAgain,
-          firstButtonLabel: S.of(context).contactSupport,
-          secondButtonLabel: S.of(context).ok,
-        );
-        if (dialogChoice!.action == ButtonAction.first) {
-          await sendLogs(
-            context,
-            S.of(context).contactSupport,
-            "support@ente.io",
-            postShare: () {},
-          );
-        }
-        return;
-      }
+    FocusScope.of(context).unfocus();
+    final dialog = createProgressDialog(context, S.of(context).pleaseWait);
+    await dialog.show();
+    try {
+      final kek = await Configuration.instance.decryptSecretsAndGetKeyEncKey(
+        password,
+        Configuration.instance.getKeyAttributes()!,
+      );
+      _registerSRPForExistingUsers(kek).ignore();
+    } on KeyDerivationError catch (e, s) {
+      _logger.severe("Password verification failed", e, s);
       await dialog.hide();
-      Configuration.instance.setVolatilePassword(null);
-      Bus.instance.fire(SubscriptionPurchasedEvent());
-      unawaited(
-        Navigator.of(context).pushAndRemoveUntil(
+      final dialogChoice = await showChoiceDialog(
+        context,
+        title: S.of(context).recreatePasswordTitle,
+        body: S.of(context).recreatePasswordBody,
+        firstButtonLabel: S.of(context).useRecoveryKey,
+      );
+      if (dialogChoice!.action == ButtonAction.first) {
+        // ignore: unawaited_futures
+        Navigator.of(context).push(
           MaterialPageRoute(
             builder: (BuildContext context) {
-              return const HomeWidget();
+              return const RecoveryPage();
             },
           ),
-              (route) => false,
-        ),
+        );
+      }
+      return;
+    } catch (e, s) {
+      _logger.severe("Password verification failed", e, s);
+      await dialog.hide();
+      final dialogChoice = await showChoiceDialog(
+        context,
+        title: S.of(context).incorrectPasswordTitle,
+        body: S.of(context).pleaseTryAgain,
+        firstButtonLabel: S.of(context).contactSupport,
+        secondButtonLabel: S.of(context).ok,
       );
+      if (dialogChoice!.action == ButtonAction.first) {
+        await sendLogs(
+          context,
+          S.of(context).contactSupport,
+          "support@ente.io",
+          postShare: () {},
+        );
+      }
+      return;
+    }
+    await dialog.hide();
+    Configuration.instance.setVolatilePassword(null);
+    Bus.instance.fire(SubscriptionPurchasedEvent());
+    unawaited(
+      Navigator.of(context).pushAndRemoveUntil(
+        MaterialPageRoute(
+          builder: (BuildContext context) {
+            return const HomeWidget();
+          },
+        ),
+        (route) => false,
+      ),
+    );
   }
 
   Future<void> _registerSRPForExistingUsers(Uint8List key) async {
@@ -266,8 +265,8 @@ class _PasswordReentryPageState extends State<PasswordReentryPage> {
                 ),
                 Padding(
                   padding: const EdgeInsets.symmetric(horizontal: 20),
-                  child: Row(
-                    mainAxisAlignment: MainAxisAlignment.spaceBetween,
+                  child: Wrap(
+                    alignment: WrapAlignment.spaceBetween,
                     children: [
                       GestureDetector(
                         behavior: HitTestBehavior.opaque,
@@ -280,17 +279,13 @@ class _PasswordReentryPageState extends State<PasswordReentryPage> {
                             ),
                           );
                         },
-                        child: Center(
-                          child: Text(
-                            S.of(context).forgotPassword,
-                            style: Theme.of(context)
-                                .textTheme
-                                .titleMedium!
-                                .copyWith(
-                                  fontSize: 14,
-                                  decoration: TextDecoration.underline,
-                                ),
-                          ),
+                        child: Text(
+                          S.of(context).forgotPassword,
+                          style:
+                              Theme.of(context).textTheme.titleMedium!.copyWith(
+                                    fontSize: 14,
+                                    decoration: TextDecoration.underline,
+                                  ),
                         ),
                       ),
                       GestureDetector(
@@ -306,17 +301,13 @@ class _PasswordReentryPageState extends State<PasswordReentryPage> {
                           Navigator.of(context)
                               .popUntil((route) => route.isFirst);
                         },
-                        child: Center(
-                          child: Text(
-                            S.of(context).changeEmail,
-                            style: Theme.of(context)
-                                .textTheme
-                                .titleMedium!
-                                .copyWith(
-                                  fontSize: 14,
-                                  decoration: TextDecoration.underline,
-                                ),
-                          ),
+                        child: Text(
+                          S.of(context).changeEmail,
+                          style:
+                              Theme.of(context).textTheme.titleMedium!.copyWith(
+                                    fontSize: 14,
+                                    decoration: TextDecoration.underline,
+                                  ),
                         ),
                       ),
                     ],