diff --git a/assets/images/ic_info_circle_outline.svg b/assets/images/ic_info_circle_outline.svg
index a5805cd1a..120dea5c4 100644
--- a/assets/images/ic_info_circle_outline.svg
+++ b/assets/images/ic_info_circle_outline.svg
@@ -1,8 +1,3 @@
diff --git a/lib/features/mailbox/presentation/mailbox_controller.dart b/lib/features/mailbox/presentation/mailbox_controller.dart
index 9a9ff6502..f7f3abe78 100644
--- a/lib/features/mailbox/presentation/mailbox_controller.dart
+++ b/lib/features/mailbox/presentation/mailbox_controller.dart
@@ -269,6 +269,8 @@ class MailboxController extends BaseMailboxController {
refreshMailboxChanges();
}
mailboxDashBoardController.clearMailboxUIAction();
+ } else if (action is OpenSpamMailboxAction){
+ openMailbox(action.context, action.presentationMailbox);
}
});
}
diff --git a/lib/features/mailbox_dashboard/data/datasource_impl/local_spam_report_datasource_impl.dart b/lib/features/mailbox_dashboard/data/datasource_impl/share_preference_spam_report_data_source_impl.dart
similarity index 91%
rename from lib/features/mailbox_dashboard/data/datasource_impl/local_spam_report_datasource_impl.dart
rename to lib/features/mailbox_dashboard/data/datasource_impl/share_preference_spam_report_data_source_impl.dart
index 81a9f9b8d..04af11486 100644
--- a/lib/features/mailbox_dashboard/data/datasource_impl/local_spam_report_datasource_impl.dart
+++ b/lib/features/mailbox_dashboard/data/datasource_impl/share_preference_spam_report_data_source_impl.dart
@@ -6,11 +6,11 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/data/local/share_prefer
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/unread_spam_emails_response.dart';
import 'package:tmail_ui_user/main/exceptions/exception_thrower.dart';
-class LocalSpamReportDataSourceImpl extends SpamReportDataSource {
+class SharePreferenceSpamReportDataSourceImpl extends SpamReportDataSource {
final SharePreferenceSpamReportDataSource _sharePreferenceSpamReportDataSource;
final ExceptionThrower _exceptionThrower;
- LocalSpamReportDataSourceImpl(this._sharePreferenceSpamReportDataSource, this._exceptionThrower);
+ SharePreferenceSpamReportDataSourceImpl(this._sharePreferenceSpamReportDataSource, this._exceptionThrower);
@override
Future getLastTimeDismissedSpamReported() async {
return Future.sync(() async {
diff --git a/lib/features/mailbox_dashboard/data/datasource_impl/spam_report_datasource_impl.dart b/lib/features/mailbox_dashboard/data/datasource_impl/spam_report_datasource_impl.dart
index 20707ba3f..35bf7f15d 100644
--- a/lib/features/mailbox_dashboard/data/datasource_impl/spam_report_datasource_impl.dart
+++ b/lib/features/mailbox_dashboard/data/datasource_impl/spam_report_datasource_impl.dart
@@ -27,7 +27,7 @@ class SpamReportDataSourceImpl extends SpamReportDataSource {
}
) {
return Future.sync(() async {
- final _unreadSpamEmailsResponse = await _spamReportApi.findNumberOfUnreadSpamEmails(
+ final _unreadSpamEmailsResponse = await _spamReportApi.getUnreadSpamEmailbox(
accountId, mailboxFilterCondition: mailboxFilterCondition, limit: limit);
return _unreadSpamEmailsResponse;
}).catchError((error) {
diff --git a/lib/features/mailbox_dashboard/data/local/share_preference_spam_report_data_source.dart b/lib/features/mailbox_dashboard/data/local/share_preference_spam_report_data_source.dart
index 4d749551c..b187bc286 100644
--- a/lib/features/mailbox_dashboard/data/local/share_preference_spam_report_data_source.dart
+++ b/lib/features/mailbox_dashboard/data/local/share_preference_spam_report_data_source.dart
@@ -20,7 +20,7 @@ class SharePreferenceSpamReportDataSource extends SpamReportDataSource {
@override
Future storeLastTimeDismissedSpamReported(DateTime lastTimeDismissedSpamReported) async {
- final _timeStamp = lastTimeDismissedSpamReported.microsecondsSinceEpoch;
+ final _timeStamp = lastTimeDismissedSpamReported.millisecondsSinceEpoch;
return await _sharedPreferences.setInt(MailboxDashboardConstant.keyLastTimeDismissedSpamReported,_timeStamp);
}
diff --git a/lib/features/mailbox_dashboard/data/network/spam_report_api.dart b/lib/features/mailbox_dashboard/data/network/spam_report_api.dart
index b9daa4ea8..ff536b83f 100644
--- a/lib/features/mailbox_dashboard/data/network/spam_report_api.dart
+++ b/lib/features/mailbox_dashboard/data/network/spam_report_api.dart
@@ -1,4 +1,3 @@
-
import 'package:jmap_dart_client/http/http_client.dart';
import 'package:jmap_dart_client/jmap/account_id.dart';
import 'package:jmap_dart_client/jmap/core/request/reference_path.dart';
@@ -12,10 +11,11 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/unread_spa
class SpamReportApi {
final HttpClient _httpClient;
+ static const int _deafaultLimit = 1;
SpamReportApi(this._httpClient);
- Future findNumberOfUnreadSpamEmails(
+ Future getUnreadSpamEmailbox(
AccountId accountId,
{
MailboxFilterCondition? mailboxFilterCondition,
@@ -24,11 +24,11 @@ class SpamReportApi {
) async {
final processingInvocation = ProcessingInvocation();
final requestBuilder = JmapRequestBuilder(_httpClient, processingInvocation);
+ final spamReportQueryMethod = QueryMailboxMethod(accountId)..addLimit(limit ?? UnsignedInt(_deafaultLimit));
- final spamReportQueryMethod = QueryMailboxMethod(accountId)..addLimit(limit ?? UnsignedInt(1));
+ if(mailboxFilterCondition != null) spamReportQueryMethod.addFilters(mailboxFilterCondition);
final spamReportQueryMethodInvocation = requestBuilder.invocation(spamReportQueryMethod);
-
final getMailBoxMethod = GetMailboxMethod(accountId)
..addReferenceIds(processingInvocation.createResultReference(
spamReportQueryMethodInvocation.methodCallId,
@@ -42,11 +42,10 @@ class SpamReportApi {
final _mailboxResponse = result
.parse(getMailboxInvocation.methodCallId, GetMailboxResponse.deserialize);
-
- final _unreadSpamEmailNumber = _mailboxResponse?.list.first.unreadEmails?.value.value.toInt();
return Future.sync(() async {
- return UnreadSpamEmailsResponse(unreadSpamEmailNumber: _unreadSpamEmailNumber);
+ final _unreadSpamMailbox = _mailboxResponse?.list.first;
+ return UnreadSpamEmailsResponse(unreadSpamMailbox: _unreadSpamMailbox);
}).catchError((error) {
throw error;
});
diff --git a/lib/features/mailbox_dashboard/data/repository/spam_report_repository_impl.dart b/lib/features/mailbox_dashboard/data/repository/spam_report_repository_impl.dart
index 24ccb8c0c..0472115af 100644
--- a/lib/features/mailbox_dashboard/data/repository/spam_report_repository_impl.dart
+++ b/lib/features/mailbox_dashboard/data/repository/spam_report_repository_impl.dart
@@ -27,7 +27,7 @@ class SpamReportRepositoryImpl extends SpamReportRepository {
}
@override
- Future findNumberOfUnreadSpamEmails(
+ Future getUnreadSpamMailbox(
AccountId accountId,
{
MailboxFilterCondition? mailboxFilterCondition,
@@ -35,6 +35,8 @@ class SpamReportRepositoryImpl extends SpamReportRepository {
}
) {
return mapDataSource[DataSourceType.network]!.findNumberOfUnreadSpamEmails(
- accountId, mailboxFilterCondition: mailboxFilterCondition, limit: limit);
+ accountId,
+ mailboxFilterCondition: mailboxFilterCondition,
+ limit: limit);
}
}
\ No newline at end of file
diff --git a/lib/features/mailbox_dashboard/domain/model/unread_spam_emails_response.dart b/lib/features/mailbox_dashboard/domain/model/unread_spam_emails_response.dart
index a96933643..9f51c9574 100644
--- a/lib/features/mailbox_dashboard/domain/model/unread_spam_emails_response.dart
+++ b/lib/features/mailbox_dashboard/domain/model/unread_spam_emails_response.dart
@@ -1,13 +1,14 @@
import 'package:equatable/equatable.dart';
+import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
class UnreadSpamEmailsResponse with EquatableMixin {
- final int? unreadSpamEmailNumber;
+ final Mailbox? unreadSpamMailbox;
UnreadSpamEmailsResponse({
- this.unreadSpamEmailNumber,
+ this.unreadSpamMailbox,
});
@override
- List