TF-3837 Thread Detail Adjust view when offline

This commit is contained in:
DatDang
2025-06-25 15:30:50 +07:00
committed by Dat H. Pham
parent 5fd4986c6a
commit 027ab8e0d8
3 changed files with 9 additions and 0 deletions
@@ -55,6 +55,7 @@ extension InitializeThreadDetailEmails on ThreadDetailController {
}) {
return selectedEmailId == null ||
!isThreadDetailEnabled ||
!networkConnected ||
updateCurrentThreadDetail;
}
}
@@ -33,6 +33,8 @@ import 'package:tmail_ui_user/features/email/presentation/utils/email_action_rea
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/create_new_rule_filter_state.dart';
import 'package:tmail_ui_user/features/manage_account/domain/usecases/create_new_email_rule_filter_interactor.dart';
import 'package:tmail_ui_user/features/network_connection/presentation/network_connection_controller.dart'
if (dart.library.html) 'package:tmail_ui_user/features/network_connection/presentation/web_network_connection_controller.dart';
import 'package:tmail_ui_user/features/search/email/presentation/search_email_controller.dart';
import 'package:tmail_ui_user/features/thread_detail/domain/state/get_thread_by_id_state.dart';
import 'package:tmail_ui_user/features/thread_detail/domain/state/get_emails_by_ids_state.dart';
@@ -90,6 +92,7 @@ class ThreadDetailController extends BaseController {
final mailboxDashBoardController = Get.find<MailboxDashBoardController>();
final searchEmailController = Get.find<SearchEmailController>();
final networkConnectionController = Get.find<NetworkConnectionController>();
final downloadManager = Get.find<DownloadManager>();
final downloadProgressState = StreamController<Either<Failure, Success>>();
@@ -114,6 +117,8 @@ class ThreadDetailController extends BaseController {
.value == true;
return isWebSearchRunning || isMobileSearchRunning;
}
bool get networkConnected =>
networkConnectionController.isNetworkConnectionAvailable();
bool get isThreadDetailEnabled =>
threadDetailSettingStatus == ThreadDetailSettingStatus.enabled;
@@ -206,6 +211,7 @@ class ThreadDetailController extends BaseController {
accountId != null &&
sentMailboxId != null &&
ownEmailAddress != null &&
networkConnected &&
isThreadDetailEnabled;
}
@@ -60,6 +60,8 @@ void main() {
when(threadDetailController.session).thenReturn(session);
when(threadDetailController.isThreadDetailEnabled)
.thenReturn(true);
when(threadDetailController.networkConnected)
.thenReturn(true);
when(threadDetailController.mailboxDashBoardController)
.thenReturn(mailboxDashboardController);
when(mailboxDashboardController.selectedEmail)