diff --git a/lib/features/composer/presentation/composer_view.dart b/lib/features/composer/presentation/composer_view.dart index 1fe3c7fb6..e51705a62 100644 --- a/lib/features/composer/presentation/composer_view.dart +++ b/lib/features/composer/presentation/composer_view.dart @@ -66,6 +66,9 @@ class ComposerView extends GetWidget { 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 { controller.handleOpenContextMenu(context, position); }, isNetworkConnectionAvailable: controller.isNetworkConnectionAvailable, + onOpenAiAssistantModal: controller.isAIScribeAvailable + ? controller.openAIAssistantModal + : null, attachFileAction: () => controller.openPickAttachmentMenu( context, _pickAttachmentsActionTiles(context) diff --git a/lib/features/composer/presentation/widgets/mobile/app_bar_composer_widget.dart b/lib/features/composer/presentation/widgets/mobile/app_bar_composer_widget.dart index f0159c87e..4c8dfddd3 100644 --- a/lib/features/composer/presentation/widgets/mobile/app_bar_composer_widget.dart +++ b/lib/features/composer/presentation/widgets/mobile/app_bar_composer_widget.dart @@ -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, diff --git a/lib/features/composer/presentation/widgets/mobile/landscape_app_bar_composer_widget.dart b/lib/features/composer/presentation/widgets/mobile/landscape_app_bar_composer_widget.dart index 459dc9d87..9018cb1a3 100644 --- a/lib/features/composer/presentation/widgets/mobile/landscape_app_bar_composer_widget.dart +++ b/lib/features/composer/presentation/widgets/mobile/landscape_app_bar_composer_widget.dart @@ -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,