TF-3759 Update style popup context menu for profile setting menu
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tmail_ui_user/features/base/model/popup_menu_item_action.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/profile_setting/profile_setting_action_type.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class PopupMenuItemProfileSettingTypeAction
|
||||
extends PopupMenuItemActionRequiredIcon<ProfileSettingActionType> {
|
||||
final AppLocalizations appLocalizations;
|
||||
final ImagePaths imagePaths;
|
||||
|
||||
PopupMenuItemProfileSettingTypeAction(
|
||||
super.action,
|
||||
this.appLocalizations,
|
||||
this.imagePaths,
|
||||
);
|
||||
|
||||
@override
|
||||
String get actionIcon => action.getIcon(imagePaths);
|
||||
|
||||
@override
|
||||
String get actionName => action.getTitle(appLocalizations);
|
||||
|
||||
@override
|
||||
Color get actionIconColor => AppColor.gray686E76;
|
||||
|
||||
@override
|
||||
EdgeInsetsGeometry get itemPadding => const EdgeInsets.symmetric(horizontal: 16);
|
||||
}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
enum ProfileSettingActionType {
|
||||
manageAccount,
|
||||
signOut;
|
||||
|
||||
String getTitle(AppLocalizations appLocalizations) {
|
||||
switch(this) {
|
||||
case ProfileSettingActionType.manageAccount:
|
||||
return appLocalizations.manage_account;
|
||||
case ProfileSettingActionType.signOut:
|
||||
return appLocalizations.sign_out;
|
||||
}
|
||||
}
|
||||
|
||||
String getIcon(ImagePaths imagePaths) {
|
||||
switch(this) {
|
||||
case ProfileSettingActionType.manageAccount:
|
||||
return imagePaths.icSetting;
|
||||
case ProfileSettingActionType.signOut:
|
||||
return imagePaths.icLogout;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user