Do not focus composer when clicking on tablet bottom bar button

This commit is contained in:
Théo Poizat
2026-02-10 13:39:22 +01:00
committed by Dat H. Pham
parent 0d7813c368
commit 7b3e3e1b16
@@ -1,6 +1,7 @@
import 'package:core/presentation/resources/image_paths.dart'; import 'package:core/presentation/resources/image_paths.dart';
import 'package:core/presentation/views/button/tmail_button_widget.dart'; import 'package:core/presentation/views/button/tmail_button_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:pointer_interceptor/pointer_interceptor.dart';
import 'package:scribe/scribe/ai/presentation/widgets/button/ai_assistant_button.dart'; import 'package:scribe/scribe/ai/presentation/widgets/button/ai_assistant_button.dart';
import 'package:tmail_ui_user/features/composer/presentation/styles/mobile/tablet_bottom_bar_composer_widget_style.dart'; import 'package:tmail_ui_user/features/composer/presentation/styles/mobile/tablet_bottom_bar_composer_widget_style.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart'; import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
@@ -35,77 +36,79 @@ class TabletBottomBarComposerWidget extends StatelessWidget {
return Container( return Container(
padding: TabletBottomBarComposerWidgetStyle.padding, padding: TabletBottomBarComposerWidgetStyle.padding,
color: TabletBottomBarComposerWidgetStyle.backgroundColor, color: TabletBottomBarComposerWidgetStyle.backgroundColor,
child: Row( child: PointerInterceptor(
children: [ child: Row(
const Spacer(), children: [
if (onOpenAiAssistantModal != null) const Spacer(),
AiAssistantButton( if (onOpenAiAssistantModal != null)
imagePaths: imagePaths, AiAssistantButton(
margin: const EdgeInsetsDirectional.only( imagePaths: imagePaths,
start: TabletBottomBarComposerWidgetStyle.space, margin: const EdgeInsetsDirectional.only(
start: TabletBottomBarComposerWidgetStyle.space,
),
onOpenAiAssistantModal: onOpenAiAssistantModal!,
), ),
onOpenAiAssistantModal: onOpenAiAssistantModal!, const SizedBox(width: TabletBottomBarComposerWidgetStyle.space),
TMailButtonWidget.fromIcon(
icon: imagePaths.icDeleteMailbox,
borderRadius: TabletBottomBarComposerWidgetStyle.iconRadius,
padding: TabletBottomBarComposerWidgetStyle.iconPadding,
iconSize: TabletBottomBarComposerWidgetStyle.iconSize,
tooltipMessage: AppLocalizations.of(context).delete,
onTapActionCallback: deleteComposerAction,
), ),
const SizedBox(width: TabletBottomBarComposerWidgetStyle.space), const SizedBox(width: TabletBottomBarComposerWidgetStyle.space),
TMailButtonWidget.fromIcon( TMailButtonWidget.fromIcon(
icon: imagePaths.icDeleteMailbox, icon: imagePaths.icMarkAsImportant,
borderRadius: TabletBottomBarComposerWidgetStyle.iconRadius, borderRadius: TabletBottomBarComposerWidgetStyle.iconRadius,
padding: TabletBottomBarComposerWidgetStyle.iconPadding, padding: TabletBottomBarComposerWidgetStyle.iconPadding,
iconSize: TabletBottomBarComposerWidgetStyle.iconSize, iconSize: TabletBottomBarComposerWidgetStyle.iconSize,
tooltipMessage: AppLocalizations.of(context).delete, iconColor: isMarkAsImportant
onTapActionCallback: deleteComposerAction, ? TabletBottomBarComposerWidgetStyle.selectedIconColor
), : TabletBottomBarComposerWidgetStyle.iconColor,
const SizedBox(width: TabletBottomBarComposerWidgetStyle.space), tooltipMessage: isMarkAsImportant
TMailButtonWidget.fromIcon( ? AppLocalizations.of(context).turnOffMarkAsImportant
icon: imagePaths.icMarkAsImportant, : AppLocalizations.of(context).turnOnMarkAsImportant,
borderRadius: TabletBottomBarComposerWidgetStyle.iconRadius, onTapActionCallback: toggleMarkAsImportantAction,
padding: TabletBottomBarComposerWidgetStyle.iconPadding, ),
iconSize: TabletBottomBarComposerWidgetStyle.iconSize, const SizedBox(width: TabletBottomBarComposerWidgetStyle.space),
iconColor: isMarkAsImportant TMailButtonWidget.fromIcon(
icon: imagePaths.icReadReceipt,
borderRadius: TabletBottomBarComposerWidgetStyle.iconRadius,
padding: TabletBottomBarComposerWidgetStyle.iconPadding,
iconSize: TabletBottomBarComposerWidgetStyle.iconSize,
iconColor: hasReadReceipt
? TabletBottomBarComposerWidgetStyle.selectedIconColor ? TabletBottomBarComposerWidgetStyle.selectedIconColor
: TabletBottomBarComposerWidgetStyle.iconColor, : TabletBottomBarComposerWidgetStyle.iconColor,
tooltipMessage: isMarkAsImportant tooltipMessage: hasReadReceipt
? AppLocalizations.of(context).turnOffMarkAsImportant ? AppLocalizations.of(context).turnOffRequestReadReceipt
: AppLocalizations.of(context).turnOnMarkAsImportant, : AppLocalizations.of(context).turnOnRequestReadReceipt,
onTapActionCallback: toggleMarkAsImportantAction, onTapActionCallback: requestReadReceiptAction,
), ),
const SizedBox(width: TabletBottomBarComposerWidgetStyle.space), const SizedBox(width: TabletBottomBarComposerWidgetStyle.space),
TMailButtonWidget.fromIcon( TMailButtonWidget.fromIcon(
icon: imagePaths.icReadReceipt, icon: imagePaths.icSaveToDraft,
borderRadius: TabletBottomBarComposerWidgetStyle.iconRadius, borderRadius: TabletBottomBarComposerWidgetStyle.iconRadius,
padding: TabletBottomBarComposerWidgetStyle.iconPadding, padding: TabletBottomBarComposerWidgetStyle.iconPadding,
iconSize: TabletBottomBarComposerWidgetStyle.iconSize, iconSize: TabletBottomBarComposerWidgetStyle.iconSize,
iconColor: hasReadReceipt tooltipMessage: AppLocalizations.of(context).saveAsDraft,
? TabletBottomBarComposerWidgetStyle.selectedIconColor onTapActionCallback: saveToDraftAction,
: TabletBottomBarComposerWidgetStyle.iconColor, ),
tooltipMessage: hasReadReceipt const SizedBox(width: TabletBottomBarComposerWidgetStyle.sendButtonSpace),
? AppLocalizations.of(context).turnOffRequestReadReceipt TMailButtonWidget(
: AppLocalizations.of(context).turnOnRequestReadReceipt, text: AppLocalizations.of(context).send,
onTapActionCallback: requestReadReceiptAction, icon: imagePaths.icSend,
), iconAlignment: TextDirection.rtl,
const SizedBox(width: TabletBottomBarComposerWidgetStyle.space), padding: TabletBottomBarComposerWidgetStyle.sendButtonPadding,
TMailButtonWidget.fromIcon( iconSize: TabletBottomBarComposerWidgetStyle.iconSize,
icon: imagePaths.icSaveToDraft, iconSpace: TabletBottomBarComposerWidgetStyle.sendButtonIconSpace,
borderRadius: TabletBottomBarComposerWidgetStyle.iconRadius, textStyle: TabletBottomBarComposerWidgetStyle.sendButtonTextStyle,
padding: TabletBottomBarComposerWidgetStyle.iconPadding, backgroundColor: TabletBottomBarComposerWidgetStyle.sendButtonBackgroundColor,
iconSize: TabletBottomBarComposerWidgetStyle.iconSize, borderRadius: TabletBottomBarComposerWidgetStyle.sendButtonRadius,
tooltipMessage: AppLocalizations.of(context).saveAsDraft, onTapActionCallback: sendMessageAction,
onTapActionCallback: saveToDraftAction, )
), ]
const SizedBox(width: TabletBottomBarComposerWidgetStyle.sendButtonSpace), ),
TMailButtonWidget(
text: AppLocalizations.of(context).send,
icon: imagePaths.icSend,
iconAlignment: TextDirection.rtl,
padding: TabletBottomBarComposerWidgetStyle.sendButtonPadding,
iconSize: TabletBottomBarComposerWidgetStyle.iconSize,
iconSpace: TabletBottomBarComposerWidgetStyle.sendButtonIconSpace,
textStyle: TabletBottomBarComposerWidgetStyle.sendButtonTextStyle,
backgroundColor: TabletBottomBarComposerWidgetStyle.sendButtonBackgroundColor,
borderRadius: TabletBottomBarComposerWidgetStyle.sendButtonRadius,
onTapActionCallback: sendMessageAction,
)
]
), ),
); );
} }