TF-3759 Update style popup context menu for profile setting menu

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-06-13 20:06:15 +07:00
committed by Dat H. Pham
parent b90d84741a
commit 2fdab039da
19 changed files with 479 additions and 279 deletions
-1
View File
@@ -87,7 +87,6 @@ export 'presentation/views/bottom_popup/cupertino_action_sheet_builder.dart';
export 'presentation/views/bottom_popup/confirmation_dialog_action_sheet_builder.dart';
export 'presentation/views/modal_sheets/edit_text_modal_sheet_builder.dart';
export 'presentation/views/search/search_bar_view.dart';
export 'presentation/views/popup_menu/popup_menu_item_widget.dart';
export 'presentation/views/quick_search/quick_search_input_form.dart';
export 'presentation/views/toast/toast_position.dart';
export 'presentation/views/toast/tmail_toast.dart';
@@ -258,6 +258,9 @@ extension AppColor on Color {
static const folderDivider = Color(0xFFE4E8EC);
static const gray424244 = Color(0xFF424244);
static const redFF3347 = Color(0xFFFF3347);
static const gray686E76 = Color(0xFF686E76);
static const textSecondary = Color(0xFF1C1B1F);
static const profileMenuDivider = Color(0xFF1D192B);
static const mapGradientColor = [
[Color(0xFF21D4FD), Color(0xFFB721FF)],
@@ -270,6 +270,15 @@ class ThemeUtils {
color: AppColor.m3SurfaceBackground,
);
static final TextStyle textStyleM3BodyMedium = TextStyle(
fontFamily: ConstantsUI.fontApp,
fontWeight: FontWeight.w500,
letterSpacing: 0.25,
fontSize: 14,
height: 20 / 14,
color: AppColor.textSecondary.withOpacity(0.48),
);
static TextStyle textStyleAppShortcut() => const TextStyle(
fontFamily: ConstantsUI.fontApp,
fontWeight: FontWeight.normal,
@@ -1,51 +0,0 @@
import 'package:core/core.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
@immutable
class PopupMenuItemWidget extends StatelessWidget {
final Function onTapCallback;
final String icon;
final String name;
final Color? iconColor;
final String? iconSelection;
const PopupMenuItemWidget(
this.icon,
this.name,
this.onTapCallback,
{Key? key,
this.iconSelection,
this.iconColor
}) : super(key: key);
@override
Widget build(BuildContext context) {
return InkWell(
onTap: () => onTapCallback.call(),
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 16),
child: SizedBox(
child: Row(children: [
SvgPicture.asset(
icon,
width: 20,
height: 20,
fit: BoxFit.fill,
colorFilter: iconColor.asFilter()
),
const SizedBox(width: 12),
Expanded(child: Text(name,
style: const TextStyle(fontSize: 15, color: Colors.black, fontWeight: FontWeight.w500))),
if (iconSelection != null)
Padding(
padding: const EdgeInsets.only(left: 12),
child: SvgPicture.asset(iconSelection!, width: 16, height: 16, fit: BoxFit.fill)),
])
),
)
);
}
}