TF-1813 Change ComposeFloatingButton to StatelessWidget
(cherry picked from commit f99199c2fcf1767bfa2287c220ca341a555ae191)
This commit is contained in:
+12
-6
@@ -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/routes/route_navigation.dart';
|
||||||
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
import 'package:tmail_ui_user/main/utils/app_utils.dart';
|
||||||
|
|
||||||
mixin ComposeFloatingButtonMixin {
|
class ComposeFloatingButton extends StatelessWidget {
|
||||||
|
|
||||||
Widget buildComposeFloatingButton(
|
final ScrollController scrollController;
|
||||||
BuildContext context,
|
final VoidCallback? onTap;
|
||||||
ScrollController scrollController,
|
|
||||||
{VoidCallback? onTap}
|
const ComposeFloatingButton({
|
||||||
) {
|
super.key,
|
||||||
|
required this.scrollController,
|
||||||
|
this.onTap
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
final imagePaths = getBinding<ImagePaths>();
|
final imagePaths = getBinding<ImagePaths>();
|
||||||
|
|
||||||
return Align(
|
return Align(
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
import 'package:core/presentation/extensions/color_extension.dart';
|
import 'package:core/presentation/extensions/color_extension.dart';
|
||||||
import 'package:flutter/material.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/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/email/presentation/model/composer_arguments.dart';
|
||||||
import 'package:tmail_ui_user/features/sending_queue/presentation/sending_queue_controller.dart';
|
import 'package:tmail_ui_user/features/sending_queue/presentation/sending_queue_controller.dart';
|
||||||
import 'package:get/get.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/banner_message_sending_queue_widget.dart';
|
||||||
import 'package:tmail_ui_user/features/sending_queue/presentation/widgets/sending_email_tile_widget.dart';
|
import 'package:tmail_ui_user/features/sending_queue/presentation/widgets/sending_email_tile_widget.dart';
|
||||||
|
|
||||||
class SendingQueueView extends GetWidget<SendingQueueController>
|
class SendingQueueView extends GetWidget<SendingQueueController> with AppLoaderMixin {
|
||||||
with AppLoaderMixin,
|
|
||||||
ComposeFloatingButtonMixin {
|
|
||||||
|
|
||||||
const SendingQueueView({super.key});
|
const SendingQueueView({super.key});
|
||||||
|
|
||||||
@@ -33,9 +31,8 @@ class SendingQueueView extends GetWidget<SendingQueueController>
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
floatingActionButton: buildComposeFloatingButton(
|
floatingActionButton: ComposeFloatingButton(
|
||||||
context,
|
scrollController: controller.listSendingEmailController,
|
||||||
controller.listSendingEmailController,
|
|
||||||
onTap: () => controller.dashboardController!.goToComposer(ComposerArguments())
|
onTap: () => controller.dashboardController!.goToComposer(ComposerArguments())
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import 'package:flutter_svg/flutter_svg.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:model/model.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/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/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/model/composer_arguments.dart';
|
||||||
import 'package:tmail_ui_user/features/email/presentation/widgets/email_action_cupertino_action_sheet_action_builder.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>
|
class ThreadView extends GetWidget<ThreadController>
|
||||||
with AppLoaderMixin,
|
with AppLoaderMixin,
|
||||||
FilterEmailPopupMenuMixin,
|
FilterEmailPopupMenuMixin,
|
||||||
PopupMenuWidgetMixin,
|
PopupMenuWidgetMixin {
|
||||||
ComposeFloatingButtonMixin {
|
|
||||||
|
|
||||||
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||||
final _imagePaths = Get.find<ImagePaths>();
|
final _imagePaths = Get.find<ImagePaths>();
|
||||||
@@ -187,9 +186,8 @@ class ThreadView extends GetWidget<ThreadController>
|
|||||||
padding: BuildUtils.isWeb
|
padding: BuildUtils.isWeb
|
||||||
? EdgeInsets.zero
|
? EdgeInsets.zero
|
||||||
: controller.listEmailSelected.isNotEmpty ? const EdgeInsets.only(bottom: 70) : EdgeInsets.zero,
|
: controller.listEmailSelected.isNotEmpty ? const EdgeInsets.only(bottom: 70) : EdgeInsets.zero,
|
||||||
child: buildComposeFloatingButton(
|
child: ComposeFloatingButton(
|
||||||
context,
|
scrollController: controller.listEmailController,
|
||||||
controller.listEmailController,
|
|
||||||
onTap: () => controller.mailboxDashBoardController.goToComposer(ComposerArguments())
|
onTap: () => controller.mailboxDashBoardController.goToComposer(ComposerArguments())
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user