TF-4227 Hide the "Scroll to top" button when there are no emails to load.

This commit is contained in:
dab246
2026-01-07 11:11:54 +07:00
committed by Dat H. Pham
parent ca35924a5f
commit 00ce5b4a1f
@@ -21,6 +21,7 @@ import 'package:tmail_ui_user/features/email/presentation/model/popup_menu_item_
import 'package:tmail_ui_user/features/mailbox/domain/state/clear_mailbox_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/clear_mailbox_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/move_folder_content_state.dart'; import 'package:tmail_ui_user/features/mailbox/domain/state/move_folder_content_state.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/model/presentation_label_mailbox.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/domain/model/spam_report_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_ai_needs_action_extension.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_ai_needs_action_extension.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_open_context_menu_extension.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/handle_open_context_menu_extension.dart';
@@ -273,8 +274,12 @@ class ThreadView extends GetWidget<ThreadController>
floatingActionButton: Column( floatingActionButton: Column(
mainAxisAlignment: MainAxisAlignment.end, mainAxisAlignment: MainAxisAlignment.end,
children: [ children: [
Container( Obx(() {
padding: const EdgeInsetsDirectional.only(end: 4.0), final emailList =
controller.mailboxDashBoardController.emailsInCurrentMailbox;
if (emailList.isNotEmpty) {
return Padding(
padding: const EdgeInsetsDirectional.only(end: 4.0, bottom: 24),
child: ScrollToTopButtonWidget( child: ScrollToTopButtonWidget(
scrollController: controller.listEmailController, scrollController: controller.listEmailController,
onTap: controller.scrollToTop, onTap: controller.scrollToTop,
@@ -287,8 +292,11 @@ class ThreadView extends GetWidget<ThreadController>
colorFilter: Colors.white.asFilter(), colorFilter: Colors.white.asFilter(),
), ),
), ),
), );
const SizedBox(height: 24), } else {
return const SizedBox.shrink();
}
}),
_buildFloatingButtonCompose(context), _buildFloatingButtonCompose(context),
], ],
), ),
@@ -817,6 +825,8 @@ class ThreadView extends GetWidget<ThreadController>
isFilterMessageActive: controller.mailboxDashBoardController.filterMessageOption.value != FilterMessageOption.all, isFilterMessageActive: controller.mailboxDashBoardController.filterMessageOption.value != FilterMessageOption.all,
isFavoriteFolder: controller.selectedMailbox?.isFavorite == true, isFavoriteFolder: controller.selectedMailbox?.isFavorite == true,
isActionRequiredFolder: controller.selectedMailbox?.isActionRequired == true, isActionRequiredFolder: controller.selectedMailbox?.isActionRequired == true,
isLabelMailbox:
controller.selectedMailbox is PresentationLabelMailbox,
), ),
); );
} }