TF-1142 remove unread/read button in draft folder

This commit is contained in:
sherlock
2022-11-10 14:56:12 +07:00
committed by Dat H. Pham
parent 0052d74406
commit 5724fd4b4e
6 changed files with 46 additions and 35 deletions
@@ -1232,6 +1232,10 @@ class MailboxDashBoardController extends ReloadableController {
consumeState(appGridDashboardController.showDashboardAction()); consumeState(appGridDashboardController.showDashboardAction());
} }
bool isAbleMarkAllAsRead(){
return !searchController.isSearchEmailRunning && selectedMailbox.value != null && selectedMailbox.value!.isDrafts;
}
@override @override
void onClose() { void onClose() {
_emailReceiveManager.closeEmailReceiveManagerStream(); _emailReceiveManager.closeEmailReceiveManagerStream();
@@ -10,6 +10,7 @@ import 'package:tmail_ui_user/features/mailbox/presentation/mailbox_view_web.dar
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/action/dashboard_action.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/base_mailbox_dashboard_view.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/base_mailbox_dashboard_view.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/controller/app_grid_dashboard_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/composer_overlay_state.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/composer_overlay_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart';
@@ -38,6 +39,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
final SearchController searchController = Get.find<SearchController>(); final SearchController searchController = Get.find<SearchController>();
final AppGridDashboardController appGridDashboardController = Get.find<AppGridDashboardController>(); final AppGridDashboardController appGridDashboardController = Get.find<AppGridDashboardController>();
final mailBoxDashboardController = Get.find<MailboxDashBoardController>();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@@ -350,7 +352,7 @@ class MailboxDashBoardView extends BaseMailboxDashBoardView {
..onPressActionClick(() => controller.dispatchAction(SelectionAllEmailAction())) ..onPressActionClick(() => controller.dispatchAction(SelectionAllEmailAction()))
..text(AppLocalizations.of(context).select_all, isVertical: false)) ..text(AppLocalizations.of(context).select_all, isVertical: false))
.build(), .build(),
if (!searchController.isSearchEmailRunning) if (mailBoxDashboardController.isAbleMarkAllAsRead())
Padding( Padding(
padding: const EdgeInsets.only(left: 16), padding: const EdgeInsets.only(left: 16),
child: (ButtonBuilder(imagePaths.icMarkAllAsRead) child: (ButtonBuilder(imagePaths.icMarkAllAsRead)
@@ -105,6 +105,7 @@ class AppBarThreadWidgetBuilder extends StatelessWidget {
fontSize: 17, fontSize: 17,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
color: AppColor.colorTextButton))), color: AppColor.colorTextButton))),
if(_currentMailbox?.isDrafts == false)
buildIconWeb( buildIconWeb(
minSize: 25, minSize: 25,
iconSize: 25, iconSize: 25,
@@ -44,6 +44,7 @@ class BottomBarThreadSelectionWidget {
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
if(_currentMailbox?.isDrafts == false)
Expanded(child: (ButtonBuilder(_listSelectionEmail.isAllEmailRead ? _imagePaths.icUnread : _imagePaths.icRead) Expanded(child: (ButtonBuilder(_listSelectionEmail.isAllEmailRead ? _imagePaths.icUnread : _imagePaths.icRead)
..key(const Key('button_mark_read_email')) ..key(const Key('button_mark_read_email'))
..paddingIcon(const EdgeInsets.symmetric(horizontal: 8, vertical: 4)) ..paddingIcon(const EdgeInsets.symmetric(horizontal: 8, vertical: 4))
@@ -386,6 +386,7 @@ class EmailTileBuilder with BaseEmailItemTile {
Widget _buildListActionButtonWhenHover() { Widget _buildListActionButtonWhenHover() {
return Row(children: [ return Row(children: [
if(!_presentationEmail.isDraft)
buildIconWeb( buildIconWeb(
minSize: 18, minSize: 18,
iconSize: 18, iconSize: 18,
@@ -393,8 +394,8 @@ class EmailTileBuilder with BaseEmailItemTile {
splashRadius: 10, splashRadius: 10,
icon: SvgPicture.asset( icon: SvgPicture.asset(
_presentationEmail.hasRead _presentationEmail.hasRead
? imagePaths.icUnread ? imagePaths.icRead
: imagePaths.icRead, : imagePaths.icUnread,
color: AppColor.colorActionButtonHover, color: AppColor.colorActionButtonHover,
width: 16, width: 16,
height: 16, height: 16,
+2
View File
@@ -66,6 +66,8 @@ class PresentationEmail with EquatableMixin {
bool get hasStarred => keywords?.containsKey(KeyWordIdentifier.emailFlagged) == true; bool get hasStarred => keywords?.containsKey(KeyWordIdentifier.emailFlagged) == true;
bool get isDraft => keywords?.containsKey(KeyWordIdentifier.emailDraft) == true;
bool get withAttachments => hasAttachment == true; bool get withAttachments => hasAttachment == true;
String get mailboxName => mailboxNames?.first?.name ?? ''; String get mailboxName => mailboxNames?.first?.name ?? '';