Only display contact support when httpLink or supportMailAddress is not empty

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-02-03 16:41:25 +07:00
committed by Dat H. Pham
parent 02f5712a5c
commit 6b9f869bdc
6 changed files with 11 additions and 7 deletions
@@ -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(
@@ -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,
@@ -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,
@@ -110,14 +110,14 @@ class ManageAccountMenuView extends GetWidget<ManageAccountMenuController> {
.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(
@@ -167,7 +167,7 @@ class SettingsFirstLevelView extends GetWidget<SettingsController> {
.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<SettingsController> {
SettingFirstLevelTileBuilder(
AccountMenuItem.contactSupport.getName(context),
AccountMenuItem.contactSupport.getIcon(controller.imagePaths),
() => controller.onGetHelpOrReportBug(contactSupportCapability),
() => controller.onGetHelpOrReportBug(contactSupportCapability!),
),
]);
}),
@@ -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<Object?> get props => [httpLink, supportMailAddress];
}