TF-976 Blur out the option context menu mailbox action when deactivated on web
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
|
||||
import 'package:tmail_ui_user/features/base/widget/context_menu_item_action.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||
|
||||
class ContextMenuItemMailboxAction extends ContextMenuItemAction<MailboxActions> {
|
||||
ContextMenuItemMailboxAction(super.action, super.state);
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
|
||||
import 'package:core/core.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/base/widget/context_menu_item_action.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
enum MailboxActions {
|
||||
@@ -113,4 +115,21 @@ extension MailboxActionsExtension on MailboxActions {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
ContextMenuItemState getContextMenuItemState(PresentationMailbox mailbox) {
|
||||
switch(this) {
|
||||
case MailboxActions.markAsRead:
|
||||
return mailbox.getCountUnReadEmails().isNotEmpty
|
||||
? ContextMenuItemState.activated
|
||||
: ContextMenuItemState.deactivated;
|
||||
case MailboxActions.move:
|
||||
case MailboxActions.rename:
|
||||
case MailboxActions.delete:
|
||||
return mailbox.hasRole()
|
||||
? ContextMenuItemState.deactivated
|
||||
: ContextMenuItemState.activated;
|
||||
default:
|
||||
return ContextMenuItemState.deactivated;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user