TF-3507 Try to avoid screen blink when refreshing email list

Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
dab246
2025-04-14 04:16:42 +07:00
committed by Dat H. Pham
parent 9363d4edbf
commit b3506853a1
9 changed files with 49 additions and 131 deletions
@@ -1,12 +1,13 @@
import 'package:core/utils/app_logger.dart';
import 'package:dartz/dartz.dart';
import 'package:rich_text_composer/views/commons/logger.dart';
import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart';
import 'package:tmail_ui_user/features/home/data/exceptions/session_exceptions.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart';
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
import 'package:tmail_ui_user/features/thread/domain/model/email_filter.dart';
import 'package:tmail_ui_user/features/thread/domain/state/clean_and_get_all_email_state.dart';
import 'package:tmail_ui_user/features/thread/domain/state/get_all_email_state.dart';
import 'package:tmail_ui_user/features/thread/presentation/model/loading_more_status.dart';
import 'package:tmail_ui_user/features/thread/presentation/thread_controller.dart';
@@ -14,6 +15,8 @@ extension HandlePullToRefreshListEmailExtension on ThreadController {
Future<void> onRefresh() async {
log('HandlePullToRefreshListEmailExtension::onRefresh:Started');
consumeState(Stream.value(Right(GetAllEmailLoading())));
await Future.delayed(const Duration(milliseconds: 300)); // Create loading effect
canLoadMore = false;
loadingMoreStatus.value == LoadingMoreStatus.idle;
getAllEmailAction();
@@ -21,8 +24,7 @@ extension HandlePullToRefreshListEmailExtension on ThreadController {
Future<void> onCleanAndRefresh() async {
log('HandlePullToRefreshListEmailExtension::onCleanAndRefresh:Started');
canLoadMore = false;
loadingMoreStatus.value == LoadingMoreStatus.idle;
resetToOriginalValue();
cleanAndGetAllEmailAction();
}