TF-3427 Collapse side features of the composer in a side menu
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:core/presentation/views/button/tmail_button_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/styles/web/bottom_bar_composer_widget_style.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/widgets/web/mobile_responsive_app_bar_composer_widget.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
class BottomBarComposerWidget extends StatelessWidget {
|
||||
@@ -15,12 +15,10 @@ class BottomBarComposerWidget extends StatelessWidget {
|
||||
final VoidCallback openRichToolbarAction;
|
||||
final VoidCallback attachFileAction;
|
||||
final VoidCallback insertImageAction;
|
||||
final VoidCallback showCodeViewAction;
|
||||
final VoidCallback deleteComposerAction;
|
||||
final VoidCallback saveToDraftAction;
|
||||
final VoidCallback sendMessageAction;
|
||||
final VoidCallback requestReadReceiptAction;
|
||||
final VoidCallback onPrintDraftAction;
|
||||
final OnOpenContextMenuAction openContextMenuAction;
|
||||
|
||||
const BottomBarComposerWidget({
|
||||
super.key,
|
||||
@@ -32,12 +30,10 @@ class BottomBarComposerWidget extends StatelessWidget {
|
||||
required this.openRichToolbarAction,
|
||||
required this.attachFileAction,
|
||||
required this.insertImageAction,
|
||||
required this.showCodeViewAction,
|
||||
required this.deleteComposerAction,
|
||||
required this.saveToDraftAction,
|
||||
required this.sendMessageAction,
|
||||
required this.requestReadReceiptAction,
|
||||
required this.onPrintDraftAction,
|
||||
required this.openContextMenuAction,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -52,9 +48,7 @@ class BottomBarComposerWidget extends StatelessWidget {
|
||||
icon: imagePaths.icRichToolbar,
|
||||
borderRadius: BottomBarComposerWidgetStyle.iconRadius,
|
||||
padding: BottomBarComposerWidgetStyle.richTextIconPadding,
|
||||
backgroundColor: isFormattingOptionsEnabled
|
||||
? BottomBarComposerWidgetStyle.selectedBackgroundColor
|
||||
: Colors.transparent,
|
||||
backgroundColor: Colors.transparent,
|
||||
iconSize: BottomBarComposerWidgetStyle.richTextIconSize,
|
||||
iconColor: isFormattingOptionsEnabled
|
||||
? BottomBarComposerWidgetStyle.selectedIconColor
|
||||
@@ -78,7 +72,9 @@ class BottomBarComposerWidget extends StatelessWidget {
|
||||
absorbing: isCodeViewEnabled,
|
||||
child: TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icInsertImage,
|
||||
iconColor: BottomBarComposerWidgetStyle.iconColor,
|
||||
iconColor: isCodeViewEnabled
|
||||
? BottomBarComposerWidgetStyle.disabledIconColor
|
||||
: BottomBarComposerWidgetStyle.iconColor,
|
||||
borderRadius: BottomBarComposerWidgetStyle.iconRadius,
|
||||
backgroundColor: Colors.transparent,
|
||||
padding: BottomBarComposerWidgetStyle.iconPadding,
|
||||
@@ -89,18 +85,12 @@ class BottomBarComposerWidget extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(width: BottomBarComposerWidgetStyle.space),
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icStyleCodeView,
|
||||
iconColor: isCodeViewEnabled
|
||||
? BottomBarComposerWidgetStyle.selectedIconColor
|
||||
: BottomBarComposerWidgetStyle.iconColor,
|
||||
borderRadius: BottomBarComposerWidgetStyle.iconRadius,
|
||||
backgroundColor: isCodeViewEnabled
|
||||
? BottomBarComposerWidgetStyle.selectedBackgroundColor
|
||||
: Colors.transparent,
|
||||
padding: BottomBarComposerWidgetStyle.iconPadding,
|
||||
icon: imagePaths.icMore,
|
||||
iconColor: BottomBarComposerWidgetStyle.iconColor,
|
||||
backgroundColor: Colors.transparent,
|
||||
iconSize: BottomBarComposerWidgetStyle.iconSize,
|
||||
tooltipMessage: AppLocalizations.of(context).embedCode,
|
||||
onTapActionCallback: showCodeViewAction,
|
||||
tooltipMessage: AppLocalizations.of(context).more,
|
||||
onTapActionAtPositionCallback: openContextMenuAction,
|
||||
),
|
||||
const Spacer(),
|
||||
TMailButtonWidget.fromIcon(
|
||||
@@ -108,42 +98,19 @@ class BottomBarComposerWidget extends StatelessWidget {
|
||||
borderRadius: BottomBarComposerWidgetStyle.iconRadius,
|
||||
padding: BottomBarComposerWidgetStyle.iconPadding,
|
||||
iconSize: BottomBarComposerWidgetStyle.iconSize,
|
||||
iconColor: BottomBarComposerWidgetStyle.iconColor,
|
||||
backgroundColor: Colors.transparent,
|
||||
tooltipMessage: AppLocalizations.of(context).delete,
|
||||
onTapActionCallback: deleteComposerAction,
|
||||
),
|
||||
const SizedBox(width: BottomBarComposerWidgetStyle.space),
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icReadReceipt,
|
||||
borderRadius: BottomBarComposerWidgetStyle.iconRadius,
|
||||
padding: BottomBarComposerWidgetStyle.iconPadding,
|
||||
iconSize: BottomBarComposerWidgetStyle.iconSize,
|
||||
iconColor: hasReadReceipt
|
||||
? BottomBarComposerWidgetStyle.selectedIconColor
|
||||
: BottomBarComposerWidgetStyle.iconColor,
|
||||
tooltipMessage: hasReadReceipt
|
||||
? AppLocalizations.of(context).turnOffRequestReadReceipt
|
||||
: AppLocalizations.of(context).turnOnRequestReadReceipt,
|
||||
onTapActionCallback: requestReadReceiptAction,
|
||||
),
|
||||
const SizedBox(width: BottomBarComposerWidgetStyle.space),
|
||||
if (isPrintDraftEnabled)
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icPrinter,
|
||||
borderRadius: BottomBarComposerWidgetStyle.iconRadius,
|
||||
padding: BottomBarComposerWidgetStyle.iconPadding,
|
||||
iconSize: BottomBarComposerWidgetStyle.iconSize,
|
||||
iconColor: AppColor.steelGrayA540,
|
||||
margin: const EdgeInsetsDirectional.only(
|
||||
end: BottomBarComposerWidgetStyle.space,
|
||||
),
|
||||
tooltipMessage: AppLocalizations.of(context).print,
|
||||
onTapActionCallback: onPrintDraftAction,
|
||||
),
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icSaveToDraft,
|
||||
borderRadius: BottomBarComposerWidgetStyle.iconRadius,
|
||||
padding: BottomBarComposerWidgetStyle.iconPadding,
|
||||
iconSize: BottomBarComposerWidgetStyle.iconSize,
|
||||
backgroundColor: Colors.transparent,
|
||||
iconColor: BottomBarComposerWidgetStyle.iconColor,
|
||||
tooltipMessage: AppLocalizations.of(context).saveAsDraft,
|
||||
onTapActionCallback: saveToDraftAction,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user