TF-4193 Handle multi click to enable Label visibility feature

This commit is contained in:
dab246
2025-12-09 13:43:43 +07:00
committed by Dat H. Pham
parent d1cd9efbab
commit 10038a3836
23 changed files with 330 additions and 43 deletions
@@ -1,5 +1,6 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/presentation/utils/theme_utils.dart';
import 'package:core/presentation/views/button/multi_click_widget.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/manage_account/presentation/model/account_menu_item.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -8,27 +9,38 @@ class SettingHeaderWidget extends StatelessWidget {
final AccountMenuItem menuItem;
final EdgeInsetsGeometry? padding;
final TextStyle? textStyle;
final VoidCallback? onMultiClickAction;
const SettingHeaderWidget({
Key? key,
required this.menuItem,
this.padding,
this.textStyle,
this.onMultiClickAction,
}) : super(key: key);
@override
Widget build(BuildContext context) {
final appLocalizations = AppLocalizations.of(context);
final children = [
Text(
menuItem.getName(appLocalizations),
style: textStyle ?? ThemeUtils.textStyleInter600().copyWith(
color: Colors.black,
),
maxLines: 1,
overflow: TextOverflow.ellipsis,
Widget titleWidget = Text(
menuItem.getName(appLocalizations),
style: textStyle ?? ThemeUtils.textStyleInter600().copyWith(
color: Colors.black,
),
maxLines: 1,
overflow: TextOverflow.ellipsis,
);
if (onMultiClickAction != null) {
titleWidget = MultiClickWidget(
onMultiTap: onMultiClickAction!,
child: titleWidget,
);
}
final children = [
titleWidget,
if (menuItem.getExplanation(appLocalizations).isNotEmpty)
Padding(
padding: const EdgeInsets.only(top: 13),