瀏覽代碼

used MenuItemWidget for Support's selectionOptions

ashilkn 2 年之前
父節點
當前提交
47c8a430d4
共有 2 個文件被更改,包括 21 次插入19 次删除
  1. 3 0
      lib/ui/components/menu_item_widget.dart
  2. 18 19
      lib/ui/settings/support_section_widget.dart

+ 3 - 0
lib/ui/components/menu_item_widget.dart

@@ -12,6 +12,7 @@ class MenuItemWidget extends StatefulWidget {
   final Widget? trailingSwitch;
   final Widget? trailingSwitch;
   final bool trailingIconIsMuted;
   final bool trailingIconIsMuted;
   final VoidCallback? onTap;
   final VoidCallback? onTap;
+  final VoidCallback? onDoubleTap;
   final Color? menuItemColor;
   final Color? menuItemColor;
   final bool alignCaptionedTextToLeft;
   final bool alignCaptionedTextToLeft;
   final double borderRadius;
   final double borderRadius;
@@ -25,6 +26,7 @@ class MenuItemWidget extends StatefulWidget {
     this.trailingSwitch,
     this.trailingSwitch,
     this.trailingIconIsMuted = false,
     this.trailingIconIsMuted = false,
     this.onTap,
     this.onTap,
+    this.onDoubleTap,
     this.menuItemColor,
     this.menuItemColor,
     this.alignCaptionedTextToLeft = false,
     this.alignCaptionedTextToLeft = false,
     this.borderRadius = 4.0,
     this.borderRadius = 4.0,
@@ -61,6 +63,7 @@ class _MenuItemWidgetState extends State<MenuItemWidget> {
         ? menuItemWidget(context)
         ? menuItemWidget(context)
         : GestureDetector(
         : GestureDetector(
             onTap: widget.onTap,
             onTap: widget.onTap,
+            onDoubleTap: widget.onDoubleTap,
             child: menuItemWidget(context),
             child: menuItemWidget(context),
           );
           );
   }
   }

+ 18 - 19
lib/ui/settings/support_section_widget.dart

@@ -11,7 +11,6 @@ import 'package:photos/ui/common/web_page.dart';
 import 'package:photos/ui/components/captioned_text_widget.dart';
 import 'package:photos/ui/components/captioned_text_widget.dart';
 import 'package:photos/ui/components/menu_item_widget.dart';
 import 'package:photos/ui/components/menu_item_widget.dart';
 import 'package:photos/ui/settings/common_settings.dart';
 import 'package:photos/ui/settings/common_settings.dart';
-import 'package:photos/ui/settings/settings_text_item.dart';
 import 'package:photos/utils/email_util.dart';
 import 'package:photos/utils/email_util.dart';
 
 
 class SupportSectionWidget extends StatefulWidget {
 class SupportSectionWidget extends StatefulWidget {
@@ -58,17 +57,22 @@ class _SupportSectionWidgetState extends State<SupportSectionWidget> {
     return Column(
     return Column(
       children: [
       children: [
         sectionOptionDivider,
         sectionOptionDivider,
-        GestureDetector(
-          behavior: HitTestBehavior.translucent,
+        MenuItemWidget(
+          captionedTextWidget: const CaptionedTextWidget(
+            text: "Email",
+          ),
+          trailingIcon: Icons.chevron_right_outlined,
+          trailingIconIsMuted: true,
           onTap: () async {
           onTap: () async {
             await sendEmail(context, to: supportEmail);
             await sendEmail(context, to: supportEmail);
           },
           },
-          child:
-              const SettingsTextItem(text: "Email", icon: Icons.navigate_next),
         ),
         ),
-        sectionOptionDivider,
-        GestureDetector(
-          behavior: HitTestBehavior.translucent,
+        MenuItemWidget(
+          captionedTextWidget: const CaptionedTextWidget(
+            text: "Roadmap",
+          ),
+          trailingIcon: Icons.chevron_right_outlined,
+          trailingIconIsMuted: true,
           onTap: () {
           onTap: () {
             Navigator.of(context).push(
             Navigator.of(context).push(
               MaterialPageRoute(
               MaterialPageRoute(
@@ -84,14 +88,13 @@ class _SupportSectionWidgetState extends State<SupportSectionWidget> {
               ),
               ),
             );
             );
           },
           },
-          child: const SettingsTextItem(
-            text: "Roadmap",
-            icon: Icons.navigate_next,
-          ),
         ),
         ),
-        sectionOptionDivider,
-        GestureDetector(
-          behavior: HitTestBehavior.translucent,
+        MenuItemWidget(
+          captionedTextWidget: const CaptionedTextWidget(
+            text: "Report a bug",
+          ),
+          trailingIcon: Icons.chevron_right_outlined,
+          trailingIconIsMuted: true,
           onTap: () async {
           onTap: () async {
             await sendLogs(context, "Report bug", bugsEmail);
             await sendLogs(context, "Report bug", bugsEmail);
           },
           },
@@ -99,10 +102,6 @@ class _SupportSectionWidgetState extends State<SupportSectionWidget> {
             final zipFilePath = await getZippedLogsFile(context);
             final zipFilePath = await getZippedLogsFile(context);
             await shareLogs(context, bugsEmail, zipFilePath);
             await shareLogs(context, bugsEmail, zipFilePath);
           },
           },
-          child: const SettingsTextItem(
-            text: "Report bug 🐞",
-            icon: Icons.navigate_next,
-          ),
         ),
         ),
       ],
       ],
     );
     );