TF-3449 Add Mark as important option in context menu

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-02-07 14:54:44 +07:00
committed by Dat H. Pham
parent a91381da9e
commit 621756dca1
11 changed files with 175 additions and 8 deletions
@@ -16,6 +16,7 @@ class BottomBarComposerWidget extends StatelessWidget {
final bool isEmailChanged;
final bool isFormattingOptionsEnabled;
final bool hasReadReceipt;
final bool isMarkAsImportant;
final CustomPopupMenuController menuMoreOptionController;
final VoidCallback openRichToolbarAction;
final VoidCallback attachFileAction;
@@ -26,6 +27,7 @@ class BottomBarComposerWidget extends StatelessWidget {
final VoidCallback toggleCodeViewAction;
final VoidCallback toggleRequestReadReceiptAction;
final VoidCallback printDraftAction;
final VoidCallback toggleMarkAsImportantAction;
const BottomBarComposerWidget({
super.key,
@@ -34,6 +36,7 @@ class BottomBarComposerWidget extends StatelessWidget {
required this.isEmailChanged,
required this.isFormattingOptionsEnabled,
required this.hasReadReceipt,
required this.isMarkAsImportant,
required this.menuMoreOptionController,
required this.openRichToolbarAction,
required this.attachFileAction,
@@ -44,6 +47,7 @@ class BottomBarComposerWidget extends StatelessWidget {
required this.toggleCodeViewAction,
required this.toggleRequestReadReceiptAction,
required this.printDraftAction,
required this.toggleMarkAsImportantAction,
});
@override
@@ -103,6 +107,19 @@ class BottomBarComposerWidget extends StatelessWidget {
tooltipMessage: AppLocalizations.of(context).more,
),
listButtonAction: [
PopupItemWidget(
iconAction: imagePaths.icMarkAsImportant,
nameAction: AppLocalizations.of(context).markAsImportant,
styleName: BottomBarComposerWidgetStyle.popupItemTextStyle,
padding: BottomBarComposerWidgetStyle.popupItemPadding,
colorIcon: BottomBarComposerWidgetStyle.iconColor,
selectedIcon: imagePaths.icFilterSelected,
isSelected: isMarkAsImportant,
onCallbackAction: () {
menuMoreOptionController.hideMenu();
toggleMarkAsImportantAction();
},
),
PopupItemWidget(
iconAction: imagePaths.icStyleCodeView,
nameAction: AppLocalizations.of(context).embedCode,
@@ -16,6 +16,7 @@ class MobileResponsiveAppBarComposerWidget extends StatelessWidget {
final bool isSendButtonEnabled;
final bool isFormattingOptionsEnabled;
final bool hasRequestReadReceipt;
final bool isMarkAsImportant;
final bool isEmailChanged;
final CustomPopupMenuController menuMoreOptionController;
final VoidCallback onCloseViewAction;
@@ -28,6 +29,7 @@ class MobileResponsiveAppBarComposerWidget extends StatelessWidget {
final VoidCallback printDraftAction;
final VoidCallback saveToDraftsAction;
final VoidCallback deleteComposerAction;
final VoidCallback toggleMarkAsImportantAction;
const MobileResponsiveAppBarComposerWidget({
super.key,
@@ -36,6 +38,7 @@ class MobileResponsiveAppBarComposerWidget extends StatelessWidget {
required this.isFormattingOptionsEnabled,
required this.isSendButtonEnabled,
required this.hasRequestReadReceipt,
required this.isMarkAsImportant,
required this.isEmailChanged,
required this.menuMoreOptionController,
required this.openRichToolbarAction,
@@ -48,6 +51,7 @@ class MobileResponsiveAppBarComposerWidget extends StatelessWidget {
required this.printDraftAction,
required this.saveToDraftsAction,
required this.deleteComposerAction,
required this.toggleMarkAsImportantAction,
});
@override
@@ -120,6 +124,19 @@ class MobileResponsiveAppBarComposerWidget extends StatelessWidget {
tooltipMessage: AppLocalizations.of(context).more,
),
listButtonAction: [
PopupItemWidget(
iconAction: imagePaths.icMarkAsImportant,
nameAction: AppLocalizations.of(context).markAsImportant,
styleName: MobileAppBarComposerWidgetStyle.popupItemTextStyle,
padding: MobileAppBarComposerWidgetStyle.popupItemPadding,
colorIcon: MobileAppBarComposerWidgetStyle.popupItemIconColor,
selectedIcon: imagePaths.icFilterSelected,
isSelected: isMarkAsImportant,
onCallbackAction: () {
menuMoreOptionController.hideMenu();
toggleMarkAsImportantAction();
},
),
PopupItemWidget(
iconAction: imagePaths.icStyleCodeView,
nameAction: AppLocalizations.of(context).embedCode,