TF-1710 Display count of total emails for Trash & Spam folder
(cherry picked from commit f1bd66407652732311f5c6e9672f6b453ae477bf)
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
import 'package:core/presentation/extensions/color_extension.dart';
|
import 'package:core/presentation/extensions/color_extension.dart';
|
||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||||
import 'package:core/presentation/utils/style_utils.dart';
|
|
||||||
import 'package:core/presentation/views/button/icon_button_web.dart';
|
import 'package:core/presentation/views/button/icon_button_web.dart';
|
||||||
import 'package:core/presentation/views/text/text_overflow_builder.dart';
|
import 'package:core/presentation/views/text/text_overflow_builder.dart';
|
||||||
import 'package:core/utils/direction_utils.dart';
|
import 'package:core/utils/direction_utils.dart';
|
||||||
@@ -10,15 +9,16 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||||
import 'package:model/email/presentation_email.dart';
|
import 'package:model/email/presentation_email.dart';
|
||||||
|
import 'package:model/extensions/presentation_mailbox_extension.dart';
|
||||||
import 'package:model/mailbox/expand_mode.dart';
|
import 'package:model/mailbox/expand_mode.dart';
|
||||||
import 'package:model/mailbox/presentation_mailbox.dart';
|
import 'package:model/mailbox/presentation_mailbox.dart';
|
||||||
import 'package:model/mailbox/select_mode.dart';
|
import 'package:model/mailbox/select_mode.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/domain/extensions/presentation_mailbox_extension.dart';
|
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_actions.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_displayed.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_displayed.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/model/mailbox_node.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_method_action_define.dart';
|
import 'package:tmail_ui_user/features/mailbox/presentation/utils/mailbox_method_action_define.dart';
|
||||||
|
import 'package:tmail_ui_user/features/mailbox/presentation/widgets/count_of_emails_widget.dart';
|
||||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||||
|
|
||||||
class MailBoxFolderTileBuilder {
|
class MailBoxFolderTileBuilder {
|
||||||
@@ -221,33 +221,30 @@ class MailBoxFolderTileBuilder {
|
|||||||
if (PlatformInfo.isWeb) {
|
if (PlatformInfo.isWeb) {
|
||||||
if (isHoverItem) {
|
if (isHoverItem) {
|
||||||
return _buildMenuIcon(context);
|
return _buildMenuIcon(context);
|
||||||
} else if (_mailboxNode.item.getCountUnReadEmails().isNotEmpty
|
} else if (_mailboxNode.item.countUnreadEmails > 0 && _mailboxNode.item.allowedToDisplayCountOfUnreadEmails) {
|
||||||
&& _mailboxNode.item.matchCountingRules()) {
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsetsDirectional.only(start: 10),
|
padding: const EdgeInsetsDirectional.only(start: 10),
|
||||||
child: _buildCounter(),
|
child: CountOfEmailsWidget(value: _mailboxNode.item.countUnReadEmailsAsString),
|
||||||
|
);
|
||||||
|
} else if (_mailboxNode.item.countTotalEmails > 0 && _mailboxNode.item.allowedToDisplayCountOfTotalEmails) {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsetsDirectional.only(start: 10),
|
||||||
|
child: CountOfEmailsWidget(value: _mailboxNode.item.countTotalEmailsAsString),
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
return const SizedBox(width: 20);
|
return const SizedBox();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (_mailboxNode.hasChildren()) {
|
if (_mailboxNode.item.countUnreadEmails > 0 && _mailboxNode.item.allowedToDisplayCountOfUnreadEmails) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsetsDirectional.only(start: 12),
|
padding: const EdgeInsetsDirectional.only(start: 12),
|
||||||
child: Row(
|
child: CountOfEmailsWidget(value: _mailboxNode.item.countUnReadEmailsAsString),
|
||||||
children: [
|
);
|
||||||
if (_mailboxNode.item.getCountUnReadEmails().isNotEmpty
|
} else if (_mailboxNode.item.countTotalEmails > 0 && _mailboxNode.item.allowedToDisplayCountOfTotalEmails) {
|
||||||
&& _mailboxNode.item.matchCountingRules())
|
return Padding(
|
||||||
_buildCounter(),
|
padding: const EdgeInsetsDirectional.only(start: 12),
|
||||||
],
|
child: CountOfEmailsWidget(value: _mailboxNode.item.countTotalEmailsAsString),
|
||||||
),
|
|
||||||
);
|
);
|
||||||
} else if (_mailboxNode.item.getCountUnReadEmails().isNotEmpty
|
|
||||||
&& _mailboxNode.item.matchCountingRules()) {
|
|
||||||
return Padding(
|
|
||||||
padding: const EdgeInsetsDirectional.only(start: 12),
|
|
||||||
child: _buildCounter(),
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
return const SizedBox();
|
return const SizedBox();
|
||||||
}
|
}
|
||||||
@@ -311,18 +308,6 @@ class MailBoxFolderTileBuilder {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildCounter() {
|
|
||||||
return Text(
|
|
||||||
_mailboxNode.item.getCountUnReadEmails(),
|
|
||||||
maxLines: 1,
|
|
||||||
overflow: CommonTextStyle.defaultTextOverFlow,
|
|
||||||
style: const TextStyle(
|
|
||||||
fontSize: 13,
|
|
||||||
color: Colors.black,
|
|
||||||
fontWeight: FontWeight.normal),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget _buildMailboxIcon() {
|
Widget _buildMailboxIcon() {
|
||||||
return SvgPicture.asset(_mailboxNode.item.getMailboxIcon(_imagePaths),
|
return SvgPicture.asset(_mailboxNode.item.getMailboxIcon(_imagePaths),
|
||||||
width: PlatformInfo.isWeb ? 20 : 24,
|
width: PlatformInfo.isWeb ? 20 : 24,
|
||||||
|
|||||||
Reference in New Issue
Block a user