TF-1813 Change ComposeFloatingButton to StatelessWidget

(cherry picked from commit f99199c2fcf1767bfa2287c220ca341a555ae191)
This commit is contained in:
dab246
2023-06-01 15:13:07 +07:00
committed by Dat Vu
parent ba29dadea6
commit 13a698bc92
3 changed files with 20 additions and 19 deletions
@@ -9,13 +9,19 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
import 'package:tmail_ui_user/main/utils/app_utils.dart';
mixin ComposeFloatingButtonMixin {
class ComposeFloatingButton extends StatelessWidget {
Widget buildComposeFloatingButton(
BuildContext context,
ScrollController scrollController,
{VoidCallback? onTap}
) {
final ScrollController scrollController;
final VoidCallback? onTap;
const ComposeFloatingButton({
super.key,
required this.scrollController,
this.onTap
});
@override
Widget build(BuildContext context) {
final imagePaths = getBinding<ImagePaths>();
return Align(
@@ -2,7 +2,7 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:flutter/material.dart';
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
import 'package:tmail_ui_user/features/base/mixin/compose_floating_button_mixin.dart';
import 'package:tmail_ui_user/features/base/widget/compose_floating_button.dart';
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
import 'package:tmail_ui_user/features/sending_queue/presentation/sending_queue_controller.dart';
import 'package:get/get.dart';
@@ -10,9 +10,7 @@ import 'package:tmail_ui_user/features/sending_queue/presentation/widgets/app_ba
import 'package:tmail_ui_user/features/sending_queue/presentation/widgets/banner_message_sending_queue_widget.dart';
import 'package:tmail_ui_user/features/sending_queue/presentation/widgets/sending_email_tile_widget.dart';
class SendingQueueView extends GetWidget<SendingQueueController>
with AppLoaderMixin,
ComposeFloatingButtonMixin {
class SendingQueueView extends GetWidget<SendingQueueController> with AppLoaderMixin {
const SendingQueueView({super.key});
@@ -33,9 +31,8 @@ class SendingQueueView extends GetWidget<SendingQueueController>
),
),
),
floatingActionButton: buildComposeFloatingButton(
context,
controller.listSendingEmailController,
floatingActionButton: ComposeFloatingButton(
scrollController: controller.listSendingEmailController,
onTap: () => controller.dashboardController!.goToComposer(ComposerArguments())
),
);
@@ -6,7 +6,7 @@ import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
import 'package:model/model.dart';
import 'package:tmail_ui_user/features/base/mixin/app_loader_mixin.dart';
import 'package:tmail_ui_user/features/base/mixin/compose_floating_button_mixin.dart';
import 'package:tmail_ui_user/features/base/widget/compose_floating_button.dart';
import 'package:tmail_ui_user/features/base/mixin/popup_menu_widget_mixin.dart';
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/email_action_cupertino_action_sheet_action_builder.dart';
@@ -33,8 +33,7 @@ import 'package:tmail_ui_user/main/utils/app_utils.dart';
class ThreadView extends GetWidget<ThreadController>
with AppLoaderMixin,
FilterEmailPopupMenuMixin,
PopupMenuWidgetMixin,
ComposeFloatingButtonMixin {
PopupMenuWidgetMixin {
final _responsiveUtils = Get.find<ResponsiveUtils>();
final _imagePaths = Get.find<ImagePaths>();
@@ -187,9 +186,8 @@ class ThreadView extends GetWidget<ThreadController>
padding: BuildUtils.isWeb
? EdgeInsets.zero
: controller.listEmailSelected.isNotEmpty ? const EdgeInsets.only(bottom: 70) : EdgeInsets.zero,
child: buildComposeFloatingButton(
context,
controller.listEmailController,
child: ComposeFloatingButton(
scrollController: controller.listEmailController,
onTap: () => controller.mailboxDashBoardController.goToComposer(ComposerArguments())
),
);