TF-3372 Handle Empty mailbox success + failure states

This commit is contained in:
Dat PHAM HOANG
2024-12-30 22:17:03 +07:00
committed by Dat H. Pham
parent 06adc9e6a8
commit b07a142bcc
6 changed files with 75 additions and 23 deletions
@@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/styles/mark_mailbox_as_read_loading_banner_style.dart';
import 'package:tmail_ui_user/features/thread/domain/state/empty_spam_folder_state.dart';
class MarkMailboxAsReadLoadingBanner extends StatelessWidget with AppLoaderMixin {
final Either<Failure, Success> viewState;
@@ -25,13 +26,21 @@ class MarkMailboxAsReadLoadingBanner extends StatelessWidget with AppLoaderMixin
child: horizontalLoadingWidget);
} else if (success is UpdatingMarkAsMailboxReadState) {
final percent = success.countRead / success.totalUnread;
return Padding(
padding: MarkMailboxAsReadLoadingBannerStyle.bannerMargin,
child: horizontalPercentLoadingWidget(percent));
return _buildProgressBanner(percent);
} else if (success is EmptyingFolderState) {
final percent = success.countEmailsDeleted / success.totalEmails;
return _buildProgressBanner(percent);
} else {
return const SizedBox.shrink();
}
}
);
}
Padding _buildProgressBanner(double percent) {
return Padding(
padding: MarkMailboxAsReadLoadingBannerStyle.bannerMargin,
child: horizontalPercentLoadingWidget(percent)
);
}
}