TF-3698 Thread Detail Real time update

TF-3698 Thread Detail update reset RefreshThreadDetailAction position

TF-3698 Thread Detail refactor initializeThreadDetailEmails

TF-3698 Thread Detail refactor handleRefreshThreadDetailAction

TF-3698 Thread Detail create listThreadIds in ListEmailExtension
This commit is contained in:
DatDang
2025-05-27 11:03:28 +07:00
committed by Dat H. Pham
parent 1bc45e35f3
commit d210a892f2
28 changed files with 647 additions and 83 deletions
@@ -61,6 +61,7 @@ import 'package:tmail_ui_user/features/thread/domain/usecases/refresh_changes_em
import 'package:tmail_ui_user/features/thread/domain/usecases/search_email_interactor.dart';
import 'package:tmail_ui_user/features/thread/domain/usecases/search_more_email_interactor.dart';
import 'package:tmail_ui_user/features/thread/presentation/extensions/list_presentation_email_extensions.dart';
import 'package:tmail_ui_user/features/thread/presentation/extensions/refresh_thread_detail_extension.dart';
import 'package:tmail_ui_user/features/thread/presentation/mixin/email_action_controller.dart';
import 'package:tmail_ui_user/features/thread/presentation/model/delete_action_type.dart';
import 'package:tmail_ui_user/features/thread/presentation/model/loading_more_status.dart';
@@ -697,7 +698,7 @@ class ThreadController extends BaseController with EmailActionController {
}
Future<Either<Failure, Success>> _refreshChangeListEmailCache() async {
return _refreshChangesEmailsInMailboxInteractor.execute(
final refreshState = await _refreshChangesEmailsInMailboxInteractor.execute(
_session!,
_accountId!,
mailboxDashBoardController.currentEmailState!,
@@ -716,6 +717,17 @@ class ThreadController extends BaseController with EmailActionController {
mailboxId: selectedMailboxId,
),
).last;
refreshState.fold(
(failure) {},
(success) {
if (success is RefreshChangesAllEmailSuccess) {
refreshThreadDetail(success.emailChangeResponse);
}
},
);
return refreshState;
}
Future<void> _refreshChangeListEmail() async {