TF-2584 Remove toolbox buttons in keyboard header and move to app bar of composer in mobile

This commit is contained in:
dab246
2024-06-13 15:09:12 +07:00
committed by Dat H. Pham
parent 1c3ca5485a
commit 4ccebb8a55
7 changed files with 78 additions and 61 deletions
@@ -1,33 +1,18 @@
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/utils/app_logger.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:rich_text_composer/rich_text_composer.dart' as rich_composer;
import 'package:rich_text_composer/views/widgets/rich_text_keyboard_toolbar.dart';
import 'package:core/utils/app_logger.dart';
import 'package:tmail_ui_user/features/composer/presentation/styles/mobile/mobile_container_view_style.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
typedef OnInsertImageAction = Function(BoxConstraints constraints);
class MobileContainerView extends StatelessWidget {
final Widget Function(BuildContext context, BoxConstraints constraints) childBuilder;
final rich_composer.RichTextController keyboardRichTextController;
final VoidCallback onCloseViewAction;
final VoidCallback? onAttachFileAction;
final OnInsertImageAction? onInsertImageAction;
final VoidCallback? onClearFocusAction;
final Color? backgroundColor;
final _responsiveUtils = Get.find<ResponsiveUtils>();
MobileContainerView({
const MobileContainerView({
super.key,
required this.childBuilder,
required this.keyboardRichTextController,
required this.onCloseViewAction,
this.onAttachFileAction,
this.onInsertImageAction,
this.onClearFocusAction,
this.backgroundColor,
});
@@ -48,25 +33,7 @@ class MobileContainerView extends StatelessWidget {
backgroundColor: backgroundColor ?? MobileContainerViewStyle.outSideBackgroundColor,
resizeToAvoidBottomInset: false,
body: LayoutBuilder(builder: (context, constraints) {
return rich_composer.KeyboardRichText(
richTextController: keyboardRichTextController,
keyBroadToolbar: RichTextKeyboardToolBar(
backgroundKeyboardToolBarColor: MobileContainerViewStyle.keyboardToolbarBackgroundColor,
isLandScapeMode: _responsiveUtils.isLandscapeMobile(context),
insertAttachment: onAttachFileAction,
insertImage: () => onInsertImageAction != null
? onInsertImageAction!(constraints)
: null,
richTextController: keyboardRichTextController,
titleQuickStyleBottomSheet: AppLocalizations.of(context).titleQuickStyles,
titleBackgroundBottomSheet: AppLocalizations.of(context).titleBackground,
titleForegroundBottomSheet: AppLocalizations.of(context).titleForeground,
titleFormatBottomSheet: AppLocalizations.of(context).titleFormat,
titleBack: AppLocalizations.of(context).format,
),
paddingChild: EdgeInsets.zero,
child: childBuilder(context, constraints),
);
return childBuilder(context, constraints);
})
),
)
@@ -5,9 +5,10 @@ import 'package:get/get.dart';
import 'package:rich_text_composer/rich_text_composer.dart';
import 'package:rich_text_composer/views/widgets/rich_text_keyboard_toolbar.dart';
import 'package:tmail_ui_user/features/composer/presentation/styles/mobile/tablet_container_view_style.dart';
import 'package:tmail_ui_user/features/composer/presentation/view/mobile/mobile_container_view.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
typedef OnInsertImageAction = Function(BoxConstraints constraints);
class TabletContainerView extends StatelessWidget {
final Widget Function(BuildContext context, BoxConstraints constraints) childBuilder;