Jelajahi Sumber

Minor improvements (#940)

Vishnu Mohandas 2 tahun lalu
induk
melakukan
dc9236e4e4

+ 13 - 36
lib/ui/settings/account_section_widget.dart

@@ -7,14 +7,12 @@ import 'package:photos/theme/ente_theme.dart';
 import 'package:photos/ui/account/change_email_dialog.dart';
 import 'package:photos/ui/account/delete_account_page.dart';
 import 'package:photos/ui/account/password_entry_page.dart';
-import 'package:photos/ui/account/recovery_key_page.dart';
 import 'package:photos/ui/components/captioned_text_widget.dart';
 import 'package:photos/ui/components/expandable_menu_item_widget.dart';
 import 'package:photos/ui/components/menu_item_widget/menu_item_widget.dart';
+import "package:photos/ui/payment/subscription.dart";
 import 'package:photos/ui/settings/common_settings.dart';
-import 'package:photos/utils/crypto_util.dart';
 import 'package:photos/utils/dialog_util.dart';
-import 'package:photos/utils/navigation_util.dart';
 import "package:url_launcher/url_launcher_string.dart";
 
 class AccountSectionWidget extends StatelessWidget {
@@ -35,38 +33,13 @@ class AccountSectionWidget extends StatelessWidget {
         sectionOptionSpacing,
         MenuItemWidget(
           captionedTextWidget: const CaptionedTextWidget(
-            title: "Recovery key",
+            title: "Manage subscription",
           ),
           pressedColor: getEnteColorScheme(context).fillFaint,
           trailingIcon: Icons.chevron_right_outlined,
           trailingIconIsMuted: true,
-          showOnlyLoadingState: true,
           onTap: () async {
-            final hasAuthenticated = await LocalAuthenticationService.instance
-                .requestLocalAuthentication(
-              context,
-              "Please authenticate to view your recovery key",
-            );
-            if (hasAuthenticated) {
-              String recoveryKey;
-              try {
-                recoveryKey = await _getOrCreateRecoveryKey(context);
-              } catch (e) {
-                await showGenericErrorDialog(context: context);
-                return;
-              }
-              unawaited(
-                routeToPage(
-                  context,
-                  RecoveryKeyPage(
-                    recoveryKey,
-                    "OK",
-                    showAppBar: true,
-                    onDone: () {},
-                  ),
-                ),
-              );
-            }
+            _onManageSubscriptionTapped(context);
           },
         ),
         sectionOptionSpacing,
@@ -180,12 +153,6 @@ class AccountSectionWidget extends StatelessWidget {
     );
   }
 
-  Future<String> _getOrCreateRecoveryKey(BuildContext context) async {
-    return CryptoUtil.bin2hex(
-      await UserService.instance.getOrCreateRecoveryKey(context),
-    );
-  }
-
   void _onLogoutTapped(BuildContext context) {
     showChoiceActionSheet(
       context,
@@ -197,4 +164,14 @@ class AccountSectionWidget extends StatelessWidget {
       },
     );
   }
+
+  void _onManageSubscriptionTapped(BuildContext context) {
+    Navigator.of(context).push(
+      MaterialPageRoute(
+        builder: (BuildContext context) {
+          return getSubscriptionPage();
+        },
+      ),
+    );
+  }
 }

+ 0 - 23
lib/ui/settings/general_section_widget.dart

@@ -7,7 +7,6 @@ import 'package:photos/ui/components/captioned_text_widget.dart';
 import 'package:photos/ui/components/expandable_menu_item_widget.dart';
 import 'package:photos/ui/components/menu_item_widget/menu_item_widget.dart';
 import "package:photos/ui/growth/referral_screen.dart";
-import 'package:photos/ui/payment/subscription.dart';
 import 'package:photos/ui/settings/common_settings.dart';
 import 'package:photos/utils/navigation_util.dart';
 
@@ -26,18 +25,6 @@ class GeneralSectionWidget extends StatelessWidget {
   Widget _getSectionOptions(BuildContext context) {
     return Column(
       children: [
-        sectionOptionSpacing,
-        MenuItemWidget(
-          captionedTextWidget: const CaptionedTextWidget(
-            title: "Manage subscription",
-          ),
-          pressedColor: getEnteColorScheme(context).fillFaint,
-          trailingIcon: Icons.chevron_right_outlined,
-          trailingIconIsMuted: true,
-          onTap: () async {
-            _onManageSubscriptionTapped(context);
-          },
-        ),
         sectionOptionSpacing,
         MenuItemWidget(
           captionedTextWidget: const CaptionedTextWidget(
@@ -84,16 +71,6 @@ class GeneralSectionWidget extends StatelessWidget {
     );
   }
 
-  void _onManageSubscriptionTapped(BuildContext context) {
-    Navigator.of(context).push(
-      MaterialPageRoute(
-        builder: (BuildContext context) {
-          return getSubscriptionPage();
-        },
-      ),
-    );
-  }
-
   Future<void> _onFamilyPlansTapped(BuildContext context) async {
     final userDetails =
         await UserService.instance.getUserDetailsV2(memoryCount: false);

+ 47 - 0
lib/ui/settings/security_section_widget.dart

@@ -8,12 +8,16 @@ import 'package:photos/events/two_factor_status_change_event.dart';
 import 'package:photos/services/local_authentication_service.dart';
 import 'package:photos/services/user_service.dart';
 import 'package:photos/theme/ente_theme.dart';
+import "package:photos/ui/account/recovery_key_page.dart";
 import 'package:photos/ui/account/sessions_page.dart';
 import 'package:photos/ui/components/captioned_text_widget.dart';
 import 'package:photos/ui/components/expandable_menu_item_widget.dart';
 import 'package:photos/ui/components/menu_item_widget/menu_item_widget.dart';
 import 'package:photos/ui/components/toggle_switch_widget.dart';
 import 'package:photos/ui/settings/common_settings.dart';
+import "package:photos/utils/crypto_util.dart";
+import "package:photos/utils/dialog_util.dart";
+import "package:photos/utils/navigation_util.dart";
 
 class SecuritySectionWidget extends StatefulWidget {
   const SecuritySectionWidget({Key? key}) : super(key: key);
@@ -60,6 +64,43 @@ class _SecuritySectionWidgetState extends State<SecuritySectionWidget> {
     if (_config.hasConfiguredAccount()) {
       children.addAll(
         [
+          sectionOptionSpacing,
+          MenuItemWidget(
+            captionedTextWidget: const CaptionedTextWidget(
+              title: "Recovery key",
+            ),
+            pressedColor: getEnteColorScheme(context).fillFaint,
+            trailingIcon: Icons.chevron_right_outlined,
+            trailingIconIsMuted: true,
+            showOnlyLoadingState: true,
+            onTap: () async {
+              final hasAuthenticated = await LocalAuthenticationService.instance
+                  .requestLocalAuthentication(
+                context,
+                "Please authenticate to view your recovery key",
+              );
+              if (hasAuthenticated) {
+                String recoveryKey;
+                try {
+                  recoveryKey = await _getOrCreateRecoveryKey(context);
+                } catch (e) {
+                  await showGenericErrorDialog(context: context);
+                  return;
+                }
+                unawaited(
+                  routeToPage(
+                    context,
+                    RecoveryKeyPage(
+                      recoveryKey,
+                      "OK",
+                      showAppBar: true,
+                      onDone: () {},
+                    ),
+                  ),
+                );
+              }
+            },
+          ),
           sectionOptionSpacing,
           MenuItemWidget(
             captionedTextWidget: const CaptionedTextWidget(
@@ -186,4 +227,10 @@ class _SecuritySectionWidgetState extends State<SecuritySectionWidget> {
       },
     );
   }
+
+  Future<String> _getOrCreateRecoveryKey(BuildContext context) async {
+    return CryptoUtil.bin2hex(
+      await UserService.instance.getOrCreateRecoveryKey(context),
+    );
+  }
 }

+ 1 - 1
lib/ui/viewer/actions/file_selection_actions_widget.dart

@@ -126,7 +126,7 @@ class _FileSelectionActionWidgetState extends State<FileSelectionActionWidget> {
         firstList.add(
           BlurMenuItemWidget(
             leadingIcon: Icons.link_outlined,
-            labelText: "Create link$suffix",
+            labelText: "Share link$suffix",
             menuItemColor: colorScheme.fillFaint,
             onTap: anyUploadedFiles ? _onCreatedSharedLinkClicked : null,
           ),