Display sparkle button in mobile app bar to launch AI Scribe
- Same icon than for desktop - Displayed only if AI Scribe is enabled
This commit is contained in:
@@ -66,6 +66,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
controller.handleOpenContextMenu(context, position);
|
||||
},
|
||||
isNetworkConnectionAvailable: controller.isNetworkConnectionAvailable,
|
||||
onOpenAiAssistantModal: controller.isAIScribeAvailable
|
||||
? controller.openAIAssistantModal
|
||||
: null,
|
||||
attachFileAction: () => controller.openPickAttachmentMenu(
|
||||
context,
|
||||
_pickAttachmentsActionTiles(context)
|
||||
@@ -87,6 +90,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
controller.handleOpenContextMenu(context, position);
|
||||
},
|
||||
isNetworkConnectionAvailable: controller.isNetworkConnectionAvailable,
|
||||
onOpenAiAssistantModal: controller.isAIScribeAvailable
|
||||
? controller.openAIAssistantModal
|
||||
: null,
|
||||
attachFileAction: () => controller.openPickAttachmentMenu(
|
||||
context,
|
||||
_pickAttachmentsActionTiles(context)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
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:scribe/scribe/ai/presentation/widgets/button/ai_assistant_button.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/styles/mobile_app_bar_composer_widget_style.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
@@ -17,6 +18,7 @@ class AppBarComposerWidget extends StatelessWidget {
|
||||
final VoidCallback? insertImageAction;
|
||||
final VoidCallback openRichToolbarAction;
|
||||
final OnOpenContextMenuAction openContextMenuAction;
|
||||
final OnOpenAiAssistantModal? onOpenAiAssistantModal;
|
||||
|
||||
const AppBarComposerWidget({
|
||||
super.key,
|
||||
@@ -29,6 +31,7 @@ class AppBarComposerWidget extends StatelessWidget {
|
||||
this.isNetworkConnectionAvailable = false,
|
||||
this.attachFileAction,
|
||||
this.insertImageAction,
|
||||
this.onOpenAiAssistantModal,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -48,6 +51,15 @@ class AppBarComposerWidget extends StatelessWidget {
|
||||
onTapActionCallback: onCloseViewAction
|
||||
),
|
||||
const Spacer(),
|
||||
if (onOpenAiAssistantModal != null)
|
||||
AiAssistantButton(
|
||||
imagePaths: imagePaths,
|
||||
margin: const EdgeInsetsDirectional.only(
|
||||
start: MobileAppBarComposerWidgetStyle.space,
|
||||
end: MobileAppBarComposerWidgetStyle.space,
|
||||
),
|
||||
onOpenAiAssistantModal: onOpenAiAssistantModal!,
|
||||
),
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icRichToolbar,
|
||||
iconColor: MobileAppBarComposerWidgetStyle.iconColor,
|
||||
|
||||
+12
@@ -1,6 +1,7 @@
|
||||
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:scribe/scribe/ai/presentation/widgets/button/ai_assistant_button.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/styles/mobile_app_bar_composer_widget_style.dart';
|
||||
import 'package:tmail_ui_user/features/composer/presentation/widgets/mobile/app_bar_composer_widget.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
@@ -16,6 +17,7 @@ class LandscapeAppBarComposerWidget extends StatelessWidget {
|
||||
final VoidCallback? insertImageAction;
|
||||
final VoidCallback openRichToolbarAction;
|
||||
final OnOpenContextMenuAction openContextMenuAction;
|
||||
final OnOpenAiAssistantModal? onOpenAiAssistantModal;
|
||||
|
||||
const LandscapeAppBarComposerWidget({
|
||||
super.key,
|
||||
@@ -28,6 +30,7 @@ class LandscapeAppBarComposerWidget extends StatelessWidget {
|
||||
this.isNetworkConnectionAvailable = false,
|
||||
this.attachFileAction,
|
||||
this.insertImageAction,
|
||||
this.onOpenAiAssistantModal,
|
||||
});
|
||||
|
||||
@override
|
||||
@@ -50,6 +53,15 @@ class LandscapeAppBarComposerWidget extends StatelessWidget {
|
||||
onTapActionCallback: onCloseViewAction
|
||||
),
|
||||
const Spacer(),
|
||||
if (onOpenAiAssistantModal != null)
|
||||
AiAssistantButton(
|
||||
imagePaths: imagePaths,
|
||||
margin: const EdgeInsetsDirectional.only(
|
||||
start: MobileAppBarComposerWidgetStyle.space,
|
||||
end: MobileAppBarComposerWidgetStyle.space,
|
||||
),
|
||||
onOpenAiAssistantModal: onOpenAiAssistantModal!,
|
||||
),
|
||||
TMailButtonWidget.fromIcon(
|
||||
icon: imagePaths.icRichToolbar,
|
||||
iconColor: MobileAppBarComposerWidgetStyle.iconColor,
|
||||
|
||||
Reference in New Issue
Block a user