TF-3479 Add hide button for composer
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -35,6 +35,16 @@ class DesktopAppBarComposerWidget extends StatelessWidget {
|
||||
Expanded(child: TitleComposerWidget(emailSubject: emailSubject)),
|
||||
if (onChangeDisplayModeAction != null)
|
||||
... [
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icDoubleArrowDown,
|
||||
backgroundColor: Colors.transparent,
|
||||
tooltipMessage: AppLocalizations.of(context).hide,
|
||||
iconSize: AppBarComposerWidgetStyle.iconSize,
|
||||
iconColor: AppBarComposerWidgetStyle.iconColor,
|
||||
padding: AppBarComposerWidgetStyle.iconPadding,
|
||||
onTapActionCallback: () => onChangeDisplayModeAction!(ScreenDisplayMode.hidden),
|
||||
),
|
||||
const SizedBox(width: AppBarComposerWidgetStyle.space),
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icMinimize,
|
||||
backgroundColor: Colors.transparent,
|
||||
|
||||
@@ -89,6 +89,8 @@ class _ExpandComposerButtonState extends State<ExpandComposerButton> {
|
||||
),
|
||||
);
|
||||
|
||||
final isAllHiddenComposer = _composerManager.isAllHiddenComposer;
|
||||
|
||||
return PortalTarget(
|
||||
visible: _visible,
|
||||
portalFollower: GestureDetector(
|
||||
@@ -96,10 +98,16 @@ class _ExpandComposerButtonState extends State<ExpandComposerButton> {
|
||||
onTap: () => setState(() => _visible = false),
|
||||
),
|
||||
child: PortalTarget(
|
||||
anchor: const Aligned(
|
||||
follower: Alignment.bottomLeft,
|
||||
target: Alignment.topLeft,
|
||||
offset: Offset(0.0, 0.0),
|
||||
anchor: Aligned(
|
||||
follower: isAllHiddenComposer
|
||||
? Alignment.bottomRight
|
||||
: Alignment.bottomLeft,
|
||||
target: isAllHiddenComposer
|
||||
? Alignment.topRight
|
||||
: Alignment.topLeft,
|
||||
offset: isAllHiddenComposer
|
||||
? const Offset(16.0, 0.0)
|
||||
: const Offset(0.0, 0.0),
|
||||
),
|
||||
portalFollower: HiddenComposerListViewOverlay(
|
||||
composerManager: _composerManager,
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
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:get/get.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/model/screen_display_mode.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/styles/minimize_composer_widget_style.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/widgets/title_composer_widget.dart';
|
||||
@@ -11,14 +10,14 @@ typedef OnChangeDisplayModeAction = Function(ScreenDisplayMode mode);
|
||||
|
||||
class MinimizeComposerWidget extends StatelessWidget {
|
||||
|
||||
final ImagePaths imagePaths;
|
||||
final OnChangeDisplayModeAction onChangeDisplayModeAction;
|
||||
final VoidCallback onCloseViewAction;
|
||||
final String emailSubject;
|
||||
|
||||
final _imagePaths = Get.find<ImagePaths>();
|
||||
|
||||
MinimizeComposerWidget({
|
||||
const MinimizeComposerWidget({
|
||||
super.key,
|
||||
required this.imagePaths,
|
||||
required this.emailSubject,
|
||||
required this.onChangeDisplayModeAction,
|
||||
required this.onCloseViewAction,
|
||||
@@ -40,7 +39,7 @@ class MinimizeComposerWidget extends StatelessWidget {
|
||||
child: Row(
|
||||
children: [
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: _imagePaths.icCancel,
|
||||
icon: imagePaths.icCancel,
|
||||
backgroundColor: Colors.transparent,
|
||||
tooltipMessage: AppLocalizations.of(context).saveAndClose,
|
||||
iconSize: MinimizeComposerWidgetStyle.iconSize,
|
||||
@@ -50,7 +49,7 @@ class MinimizeComposerWidget extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(width: MinimizeComposerWidgetStyle.space),
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: _imagePaths.icFullScreen,
|
||||
icon: imagePaths.icFullScreen,
|
||||
backgroundColor: Colors.transparent,
|
||||
tooltipMessage: AppLocalizations.of(context).fullscreen,
|
||||
iconSize: MinimizeComposerWidgetStyle.iconSize,
|
||||
@@ -60,7 +59,7 @@ class MinimizeComposerWidget extends StatelessWidget {
|
||||
),
|
||||
const SizedBox(width: MinimizeComposerWidgetStyle.space),
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: _imagePaths.icChevronUp,
|
||||
icon: imagePaths.icChevronUp,
|
||||
backgroundColor: Colors.transparent,
|
||||
tooltipMessage: AppLocalizations.of(context).show,
|
||||
iconSize: MinimizeComposerWidgetStyle.iconSize,
|
||||
@@ -69,6 +68,16 @@ class MinimizeComposerWidget extends StatelessWidget {
|
||||
onTapActionCallback: () => onChangeDisplayModeAction(ScreenDisplayMode.normal)
|
||||
),
|
||||
const SizedBox(width: MinimizeComposerWidgetStyle.space),
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icDoubleArrowDown,
|
||||
backgroundColor: Colors.transparent,
|
||||
tooltipMessage: AppLocalizations.of(context).hide,
|
||||
iconSize: MinimizeComposerWidgetStyle.iconSize,
|
||||
iconColor: MinimizeComposerWidgetStyle.iconColor,
|
||||
padding: MinimizeComposerWidgetStyle.iconPadding,
|
||||
onTapActionCallback: () => onChangeDisplayModeAction(ScreenDisplayMode.hidden),
|
||||
),
|
||||
const SizedBox(width: MinimizeComposerWidgetStyle.space),
|
||||
Expanded(child: TitleComposerWidget(emailSubject: emailSubject)),
|
||||
]
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user