TF-3759 Update style popup context menu for profile setting menu
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
+19
-39
@@ -4,7 +4,6 @@ import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:core/presentation/views/button/tmail_button_widget.dart';
|
||||
import 'package:core/presentation/views/image/avatar_builder.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
@@ -12,32 +11,37 @@ import 'package:model/support/contact_support_capability.dart';
|
||||
import 'package:tmail_ui_user/features/base/mixin/contact_support_mixin.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/application_logo_with_text_widget.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/app_grid_dashboard_controller.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/profile_setting/profile_setting_action_type.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/styles/navigation_bar_style.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/app_dashboard/app_grid_dashboard_icon.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/profile_setting/profile_setting_icon.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/profile_setting/profile_setting_menu_overlay.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class NavigationBarWidget extends StatelessWidget {
|
||||
|
||||
final ImagePaths imagePaths;
|
||||
final AccountId? accountId;
|
||||
final String avatarUserName;
|
||||
final String ownEmailAddress;
|
||||
final ContactSupportCapability? contactSupportCapability;
|
||||
final Widget? searchForm;
|
||||
final AppGridDashboardController? appGridController;
|
||||
final List<ProfileSettingActionType> settingActionTypes;
|
||||
final VoidCallback? onTapApplicationLogoAction;
|
||||
final OnTapAvatarActionWithPositionClick? onTapAvatarAction;
|
||||
final OnTapContactSupportAction? onTapContactSupportAction;
|
||||
final OnProfileSettingActionTypeClick onProfileSettingActionTypeClick;
|
||||
|
||||
const NavigationBarWidget({
|
||||
super.key,
|
||||
required this.imagePaths,
|
||||
required this.accountId,
|
||||
required this.avatarUserName,
|
||||
required this.ownEmailAddress,
|
||||
required this.onProfileSettingActionTypeClick,
|
||||
this.contactSupportCapability,
|
||||
this.searchForm,
|
||||
this.appGridController,
|
||||
this.settingActionTypes = const [],
|
||||
this.onTapApplicationLogoAction,
|
||||
this.onTapAvatarAction,
|
||||
this.onTapContactSupportAction,
|
||||
});
|
||||
|
||||
@@ -91,23 +95,11 @@ class NavigationBarWidget extends StatelessWidget {
|
||||
return const SizedBox.shrink();
|
||||
}),
|
||||
const SizedBox(width: 16),
|
||||
if (accountId != null)
|
||||
(AvatarBuilder()
|
||||
..text(avatarUserName)
|
||||
..backgroundColor(Colors.white)
|
||||
..textColor(Colors.black)
|
||||
..context(context)
|
||||
..size(48)
|
||||
..addOnTapAvatarActionWithPositionClick(onTapAvatarAction)
|
||||
..addBoxShadows([
|
||||
const BoxShadow(
|
||||
color: AppColor.colorShadowBgContentEmail,
|
||||
spreadRadius: 1,
|
||||
blurRadius: 1,
|
||||
offset: Offset(0, 0.5)
|
||||
)
|
||||
])
|
||||
).build()
|
||||
ProfileSettingIcon(
|
||||
ownEmailAddress: ownEmailAddress,
|
||||
settingActionTypes: settingActionTypes,
|
||||
onProfileSettingActionTypeClick: onProfileSettingActionTypeClick,
|
||||
),
|
||||
]
|
||||
);
|
||||
}))
|
||||
@@ -134,23 +126,11 @@ class NavigationBarWidget extends StatelessWidget {
|
||||
return const SizedBox.shrink();
|
||||
}),
|
||||
const SizedBox(width: 16),
|
||||
if (accountId != null)
|
||||
(AvatarBuilder()
|
||||
..text(avatarUserName)
|
||||
..backgroundColor(Colors.white)
|
||||
..textColor(Colors.black)
|
||||
..context(context)
|
||||
..size(48)
|
||||
..addOnTapAvatarActionWithPositionClick(onTapAvatarAction)
|
||||
..addBoxShadows([
|
||||
const BoxShadow(
|
||||
color: AppColor.colorShadowBgContentEmail,
|
||||
spreadRadius: 1,
|
||||
blurRadius: 1,
|
||||
offset: Offset(0, 0.5)
|
||||
)
|
||||
])
|
||||
).build()
|
||||
ProfileSettingIcon(
|
||||
ownEmailAddress: ownEmailAddress,
|
||||
settingActionTypes: settingActionTypes,
|
||||
onProfileSettingActionTypeClick: onProfileSettingActionTypeClick,
|
||||
),
|
||||
]
|
||||
]),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user