From 6b9f869bdc8cb853d6c6e9425d63dd07b8c9d13e Mon Sep 17 00:00:00 2001 From: dab246 Date: Mon, 3 Feb 2025 16:41:25 +0700 Subject: [PATCH] Only display contact support when `httpLink` or `supportMailAddress` is not empty Signed-off-by: dab246 --- lib/features/mailbox/presentation/mailbox_view.dart | 2 +- lib/features/mailbox/presentation/mailbox_view_web.dart | 2 +- .../widgets/navigation_bar/navigation_bar_widget.dart | 2 +- .../presentation/menu/manage_account_menu_view.dart | 4 ++-- .../presentation/menu/settings/settings_first_level_view.dart | 4 ++-- model/lib/support/contact_support_capability.dart | 4 ++++ 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/lib/features/mailbox/presentation/mailbox_view.dart b/lib/features/mailbox/presentation/mailbox_view.dart index e2a8d9eaf..cca76b273 100644 --- a/lib/features/mailbox/presentation/mailbox_view.dart +++ b/lib/features/mailbox/presentation/mailbox_view.dart @@ -89,7 +89,7 @@ class MailboxView extends BaseMailboxView { mainAxisSize: MainAxisSize.min, children: [ const Divider(color: AppColor.colorDividerHorizontal), - if (controller.contactSupportCapability == null) + if (controller.contactSupportCapability?.isAvailable != true) const QuotasView() else Row( diff --git a/lib/features/mailbox/presentation/mailbox_view_web.dart b/lib/features/mailbox/presentation/mailbox_view_web.dart index 5816b92fe..d29576fb2 100644 --- a/lib/features/mailbox/presentation/mailbox_view_web.dart +++ b/lib/features/mailbox/presentation/mailbox_view_web.dart @@ -60,7 +60,7 @@ class MailboxView extends BaseMailboxView { )), const Divider(color: AppColor.colorDividerHorizontal), if (controller.responsiveUtils.isWebDesktop(context) || - controller.contactSupportCapability == null) + controller.contactSupportCapability?.isAvailable != true) const QuotasView( padding: EdgeInsetsDirectional.only( start: QuotasViewStyles.padding, diff --git a/lib/features/mailbox_dashboard/presentation/widgets/navigation_bar/navigation_bar_widget.dart b/lib/features/mailbox_dashboard/presentation/widgets/navigation_bar/navigation_bar_widget.dart index 1061d3e8c..5b729aa4c 100644 --- a/lib/features/mailbox_dashboard/presentation/widgets/navigation_bar/navigation_bar_widget.dart +++ b/lib/features/mailbox_dashboard/presentation/widgets/navigation_bar/navigation_bar_widget.dart @@ -65,7 +65,7 @@ class NavigationBarWidget extends StatelessWidget { child: searchForm ), const Spacer(), - if (contactSupportCapability != null) + if (contactSupportCapability?.isAvailable == true) TMailButtonWidget.fromIcon( icon: imagePaths.icHelp, iconColor: AppColor.messageDialogColor, diff --git a/lib/features/manage_account/presentation/menu/manage_account_menu_view.dart b/lib/features/manage_account/presentation/menu/manage_account_menu_view.dart index 04e473ec8..956662769 100644 --- a/lib/features/manage_account/presentation/menu/manage_account_menu_view.dart +++ b/lib/features/manage_account/presentation/menu/manage_account_menu_view.dart @@ -110,14 +110,14 @@ class ManageAccountMenuView extends GetWidget { .sessionCurrent ?.getContactSupportCapability(accountId); - if (contactSupportCapability == null) return const SizedBox.shrink(); + if (contactSupportCapability?.isAvailable != true) return const SizedBox.shrink(); return Padding( padding: const EdgeInsetsDirectional.only(start: 20, end: 10), child: Material( color: Colors.transparent, child: InkWell( - onTap: () => controller.onGetHelpOrReportBug(contactSupportCapability), + onTap: () => controller.onGetHelpOrReportBug(contactSupportCapability!), borderRadius: const BorderRadius.all(Radius.circular(10)), child: Padding( padding: const EdgeInsets.symmetric( diff --git a/lib/features/manage_account/presentation/menu/settings/settings_first_level_view.dart b/lib/features/manage_account/presentation/menu/settings/settings_first_level_view.dart index 69d9ec5d4..307fac875 100644 --- a/lib/features/manage_account/presentation/menu/settings/settings_first_level_view.dart +++ b/lib/features/manage_account/presentation/menu/settings/settings_first_level_view.dart @@ -167,7 +167,7 @@ class SettingsFirstLevelView extends GetWidget { .sessionCurrent ?.getContactSupportCapability(accountId); - if (contactSupportCapability == null) return const SizedBox.shrink(); + if (contactSupportCapability?.isAvailable != true) return const SizedBox.shrink(); return Column(children: [ Divider( @@ -185,7 +185,7 @@ class SettingsFirstLevelView extends GetWidget { SettingFirstLevelTileBuilder( AccountMenuItem.contactSupport.getName(context), AccountMenuItem.contactSupport.getIcon(controller.imagePaths), - () => controller.onGetHelpOrReportBug(contactSupportCapability), + () => controller.onGetHelpOrReportBug(contactSupportCapability!), ), ]); }), diff --git a/model/lib/support/contact_support_capability.dart b/model/lib/support/contact_support_capability.dart index 214243661..b71a7e065 100644 --- a/model/lib/support/contact_support_capability.dart +++ b/model/lib/support/contact_support_capability.dart @@ -19,6 +19,10 @@ class ContactSupportCapability extends CapabilityProperties { return ContactSupportCapability.fromJson(json); } + bool get isAvailable => + httpLink?.trim().isNotEmpty == true || + supportMailAddress?.trim().isNotEmpty == true; + @override List get props => [httpLink, supportMailAddress]; } \ No newline at end of file