TF-4193 Handle multi click to enable Label visibility feature
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/base/setting_detail_view_builder.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/handle_setup_label_visibility_in_setting_extension.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/menu/settings_utils.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/model/preferences_option_type.dart';
|
||||
@@ -51,13 +52,34 @@ class PreferencesView extends GetWidget<PreferencesController> with AppLoaderMix
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
if (controller.responsiveUtils.isWebDesktop(context))
|
||||
const SettingHeaderWidget(
|
||||
menuItem: AccountMenuItem.preferences,
|
||||
padding: EdgeInsets.only(bottom: 21),
|
||||
Obx(
|
||||
() {
|
||||
final labelVisibility = controller
|
||||
.accountDashboardController.isLabelVisibility.value;
|
||||
|
||||
final isLabelCapabilitySupported = controller
|
||||
.accountDashboardController
|
||||
.isLabelCapabilitySupported;
|
||||
|
||||
final disableMultiClick =
|
||||
labelVisibility || !isLabelCapabilitySupported;
|
||||
|
||||
return SettingHeaderWidget(
|
||||
menuItem: AccountMenuItem.preferences,
|
||||
padding: const EdgeInsets.only(bottom: 21),
|
||||
onMultiClickAction: disableMultiClick
|
||||
? null
|
||||
: controller.accountDashboardController
|
||||
.enableLabelVisibility,
|
||||
);
|
||||
},
|
||||
),
|
||||
Obx(() {
|
||||
final settingOption = controller.settingOption.value;
|
||||
final localSettingOption = controller.localSettings.value;
|
||||
final isLabelVisibility = controller
|
||||
.accountDashboardController
|
||||
.isLabelVisibility;
|
||||
|
||||
if (settingOption == null &&
|
||||
localSettingOption.configs.isEmpty) {
|
||||
@@ -75,12 +97,15 @@ class PreferencesView extends GetWidget<PreferencesController> with AppLoaderMix
|
||||
...PreferencesOptionType.values.where(
|
||||
(type) =>
|
||||
type.isLocal &&
|
||||
type != PreferencesOptionType.label &&
|
||||
(type != PreferencesOptionType.aiScribe ||
|
||||
controller.isAIScribeCapabilityAvailable),
|
||||
),
|
||||
if (settingOption != null &&
|
||||
controller.isAICapabilitySupported)
|
||||
PreferencesOptionType.aiNeedsAction,
|
||||
if (isLabelVisibility.isTrue)
|
||||
PreferencesOptionType.label,
|
||||
];
|
||||
|
||||
return Expanded(
|
||||
|
||||
Reference in New Issue
Block a user