feat(ai-scribe): Optimize imports to avoid having too many lines of code in a single file
This commit is contained in:
@@ -6,17 +6,37 @@ export 'scribe/ai/domain/model/ai_response.dart';
|
|||||||
export 'scribe/ai/domain/repository/ai_scribe_repository.dart';
|
export 'scribe/ai/domain/repository/ai_scribe_repository.dart';
|
||||||
export 'scribe/ai/domain/state/generate_ai_text_state.dart';
|
export 'scribe/ai/domain/state/generate_ai_text_state.dart';
|
||||||
export 'scribe/ai/domain/usecases/generate_ai_text_interactor.dart';
|
export 'scribe/ai/domain/usecases/generate_ai_text_interactor.dart';
|
||||||
|
export 'scribe/ai/localizations/scribe_localizations.dart';
|
||||||
export 'scribe/ai/presentation/model/ai_action.dart';
|
export 'scribe/ai/presentation/model/ai_action.dart';
|
||||||
export 'scribe/ai/presentation/model/ai_capability.dart';
|
export 'scribe/ai/presentation/model/ai_capability.dart';
|
||||||
export 'scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
export 'scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
||||||
|
export 'scribe/ai/presentation/model/context_menu/ai_scribe_action_context_menu_action.dart';
|
||||||
|
export 'scribe/ai/presentation/model/context_menu/ai_scribe_category_context_menu_action.dart';
|
||||||
|
export 'scribe/ai/presentation/model/context_menu/ai_scribe_context_menu_action.dart';
|
||||||
|
export 'scribe/ai/presentation/model/context_menu/ai_scribe_suggestion_actions.dart';
|
||||||
export 'scribe/ai/presentation/model/modal/anchored_modal_layout_input.dart';
|
export 'scribe/ai/presentation/model/modal/anchored_modal_layout_input.dart';
|
||||||
export 'scribe/ai/presentation/model/modal/anchored_modal_layout_result.dart';
|
export 'scribe/ai/presentation/model/modal/anchored_modal_layout_result.dart';
|
||||||
|
export 'scribe/ai/presentation/model/modal/modal_cross_axis_alignment.dart';
|
||||||
export 'scribe/ai/presentation/model/modal/modal_placement.dart';
|
export 'scribe/ai/presentation/model/modal/modal_placement.dart';
|
||||||
export 'scribe/ai/presentation/model/text_selection_model.dart';
|
export 'scribe/ai/presentation/model/text_selection_model.dart';
|
||||||
|
export 'scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
||||||
export 'scribe/ai/presentation/utils/ai_scribe_constants.dart';
|
export 'scribe/ai/presentation/utils/ai_scribe_constants.dart';
|
||||||
|
export 'scribe/ai/presentation/utils/context_menu/hover_submenu_controller.dart';
|
||||||
|
export 'scribe/ai/presentation/utils/context_menu/popup_submenu_controller.dart';
|
||||||
export 'scribe/ai/presentation/utils/modal/ai_scribe_modal_manager.dart';
|
export 'scribe/ai/presentation/utils/modal/ai_scribe_modal_manager.dart';
|
||||||
export 'scribe/ai/presentation/utils/modal/anchored_modal_layout_calculator.dart';
|
export 'scribe/ai/presentation/utils/modal/anchored_modal_layout_calculator.dart';
|
||||||
export 'scribe/ai/presentation/widgets/button/ai_assistant_button.dart';
|
export 'scribe/ai/presentation/widgets/button/ai_assistant_button.dart';
|
||||||
export 'scribe/ai/presentation/widgets/button/inline_ai_assist_button.dart';
|
export 'scribe/ai/presentation/widgets/button/inline_ai_assist_button.dart';
|
||||||
export 'scribe/ai/presentation/widgets/context_menu/ai_scribe_context_menu.dart';
|
export 'scribe/ai/presentation/widgets/context_menu/ai_scribe_context_menu.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/context_menu/ai_scribe_context_menu_item.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/context_menu/ai_scribe_submenu.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/context_menu/ai_scribe_submenu_item.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/modal/ai_scribe_modal_widget.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/modal/ai_scribe_suggestion_widget.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_error.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_header.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_loading.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_list_actions.dart';
|
||||||
export 'scribe/ai/presentation/widgets/overlay/ai_selection_overlay.dart';
|
export 'scribe/ai/presentation/widgets/overlay/ai_selection_overlay.dart';
|
||||||
|
export 'scribe/ai/presentation/widgets/search/ai_scribe_bar.dart';
|
||||||
|
|||||||
@@ -6,11 +6,10 @@ part 'ai_api_response.g.dart';
|
|||||||
class AIApiResponse {
|
class AIApiResponse {
|
||||||
final List<Choice> choices;
|
final List<Choice> choices;
|
||||||
|
|
||||||
const AIApiResponse({
|
const AIApiResponse({required this.choices});
|
||||||
required this.choices
|
|
||||||
});
|
|
||||||
|
|
||||||
factory AIApiResponse.fromJson(Map<String, dynamic> json) => _$AIApiResponseFromJson(json);
|
factory AIApiResponse.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$AIApiResponseFromJson(json);
|
||||||
|
|
||||||
Map<String, dynamic> toJson() => _$AIApiResponseToJson(this);
|
Map<String, dynamic> toJson() => _$AIApiResponseToJson(this);
|
||||||
|
|
||||||
@@ -21,9 +20,7 @@ class AIApiResponse {
|
|||||||
class Choice {
|
class Choice {
|
||||||
final Message message;
|
final Message message;
|
||||||
|
|
||||||
const Choice({
|
const Choice({required this.message});
|
||||||
required this.message
|
|
||||||
});
|
|
||||||
|
|
||||||
factory Choice.fromJson(Map<String, dynamic> json) => _$ChoiceFromJson(json);
|
factory Choice.fromJson(Map<String, dynamic> json) => _$ChoiceFromJson(json);
|
||||||
|
|
||||||
@@ -34,11 +31,10 @@ class Choice {
|
|||||||
class Message {
|
class Message {
|
||||||
final String content;
|
final String content;
|
||||||
|
|
||||||
const Message({
|
const Message({required this.content});
|
||||||
required this.content
|
|
||||||
});
|
|
||||||
|
|
||||||
factory Message.fromJson(Map<String, dynamic> json) => _$MessageFromJson(json);
|
factory Message.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$MessageFromJson(json);
|
||||||
|
|
||||||
Map<String, dynamic> toJson() => _$MessageToJson(this);
|
Map<String, dynamic> toJson() => _$MessageToJson(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ import 'package:scribe/scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
|||||||
class AIPrompts {
|
class AIPrompts {
|
||||||
static String buildPrompt(AIAction action, String? text) {
|
static String buildPrompt(AIAction action, String? text) {
|
||||||
return switch (action) {
|
return switch (action) {
|
||||||
PredefinedAction(action: final menuAction) => buildPredefinedPrompt(menuAction, text ?? ''),
|
PredefinedAction(action: final menuAction) =>
|
||||||
CustomPromptAction(prompt: final customPrompt) => buildCustomPrompt(customPrompt, text),
|
buildPredefinedPrompt(menuAction, text ?? ''),
|
||||||
|
CustomPromptAction(prompt: final customPrompt) =>
|
||||||
|
buildCustomPrompt(customPrompt, text),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import 'package:core/core.dart';
|
import 'package:core/presentation/state/failure.dart';
|
||||||
|
import 'package:core/presentation/state/success.dart';
|
||||||
import 'package:scribe/scribe/ai/domain/model/ai_response.dart';
|
import 'package:scribe/scribe/ai/domain/model/ai_response.dart';
|
||||||
|
|
||||||
class GenerateAITextLoading extends LoadingState {}
|
class GenerateAITextLoading extends LoadingState {}
|
||||||
|
|||||||
@@ -1,14 +1,10 @@
|
|||||||
import 'package:core/core.dart';
|
import 'package:core/data/network/dio_client.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:scribe/scribe/ai/data/datasource/ai_datasource.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/data/datasource_impl/ai_datasource_impl.dart';
|
import 'package:scribe/scribe/ai/data/datasource_impl/ai_datasource_impl.dart';
|
||||||
import 'package:scribe/scribe/ai/data/network/ai_api.dart';
|
import 'package:scribe/scribe/ai/data/network/ai_api.dart';
|
||||||
import 'package:scribe/scribe/ai/data/repository/ai_repository_impl.dart';
|
|
||||||
import 'package:scribe/scribe/ai/domain/repository/ai_scribe_repository.dart';
|
|
||||||
import 'package:scribe/scribe/ai/domain/usecases/generate_ai_text_interactor.dart';
|
|
||||||
|
|
||||||
class AIScribeBindings extends Bindings {
|
class AIScribeBindings extends Bindings {
|
||||||
|
|
||||||
final String aiEndpoint;
|
final String aiEndpoint;
|
||||||
|
|
||||||
AIScribeBindings(this.aiEndpoint);
|
AIScribeBindings(this.aiEndpoint);
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
|
||||||
|
|
||||||
sealed class AIAction {
|
sealed class AIAction {
|
||||||
const AIAction();
|
const AIAction();
|
||||||
|
|||||||
@@ -9,13 +9,16 @@ class AICapability extends CapabilityProperties {
|
|||||||
|
|
||||||
final String? scribeEndpoint;
|
final String? scribeEndpoint;
|
||||||
|
|
||||||
factory AICapability.fromJson(Map<String, dynamic> json) => _$AICapabilityFromJson(json);
|
factory AICapability.fromJson(Map<String, dynamic> json) =>
|
||||||
|
_$AICapabilityFromJson(json);
|
||||||
|
|
||||||
Map<String, dynamic> toJson() => _$AICapabilityToJson(this);
|
Map<String, dynamic> toJson() => _$AICapabilityToJson(this);
|
||||||
|
|
||||||
factory AICapability.deserialize(Map<String, dynamic> json) => _$AICapabilityFromJson(json);
|
factory AICapability.deserialize(Map<String, dynamic> json) =>
|
||||||
|
_$AICapabilityFromJson(json);
|
||||||
|
|
||||||
bool get isScribeEndpointAvailable => scribeEndpoint?.trim().isNotEmpty == true;
|
bool get isScribeEndpointAvailable =>
|
||||||
|
scribeEndpoint?.trim().isNotEmpty == true;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
List<Object?> get props => [scribeEndpoint];
|
List<Object?> get props => [scribeEndpoint];
|
||||||
|
|||||||
+1
-3
@@ -1,7 +1,5 @@
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_context_menu_action.dart';
|
|
||||||
|
|
||||||
class AiScribeActionContextMenuAction
|
class AiScribeActionContextMenuAction
|
||||||
extends AiScribeContextMenuAction<AIScribeMenuAction> {
|
extends AiScribeContextMenuAction<AIScribeMenuAction> {
|
||||||
|
|||||||
+1
-4
@@ -1,8 +1,5 @@
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_action_context_menu_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_context_menu_action.dart';
|
|
||||||
|
|
||||||
class AiScribeCategoryContextMenuAction
|
class AiScribeCategoryContextMenuAction
|
||||||
extends AiScribeContextMenuAction<AIScribeMenuCategory> {
|
extends AiScribeContextMenuAction<AIScribeMenuCategory> {
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import 'package:flutter/animation.dart';
|
import 'package:flutter/animation.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_cross_axis_alignment.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_placement.dart';
|
|
||||||
|
|
||||||
class AnchoredModalLayoutInput {
|
class AnchoredModalLayoutInput {
|
||||||
final Size screenSize;
|
final Size screenSize;
|
||||||
|
|||||||
@@ -1,6 +1 @@
|
|||||||
enum ModalPlacement {
|
enum ModalPlacement { right, bottom, top, left }
|
||||||
right,
|
|
||||||
bottom,
|
|
||||||
top,
|
|
||||||
left
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -68,21 +68,24 @@ abstract final class AIScribeTextStyles {
|
|||||||
color: Colors.black.withValues(alpha: 0.85),
|
color: Colors.black.withValues(alpha: 0.85),
|
||||||
);
|
);
|
||||||
|
|
||||||
static final TextStyle suggestionTitle = ThemeUtils.textStyleInter700().copyWith(
|
static final TextStyle suggestionTitle =
|
||||||
|
ThemeUtils.textStyleInter700().copyWith(
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
height: 22 / 14,
|
height: 22 / 14,
|
||||||
letterSpacing: 0.4,
|
letterSpacing: 0.4,
|
||||||
color: AppColor.black1A1A1A.withValues(alpha: 0.85),
|
color: AppColor.black1A1A1A.withValues(alpha: 0.85),
|
||||||
);
|
);
|
||||||
|
|
||||||
static final TextStyle suggestionLoading = ThemeUtils.textStyleInter400.copyWith(
|
static final TextStyle suggestionLoading =
|
||||||
|
ThemeUtils.textStyleInter400.copyWith(
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
height: 22 / 14,
|
height: 22 / 14,
|
||||||
letterSpacing: 0.4,
|
letterSpacing: 0.4,
|
||||||
color: AppColor.black1A1A1A.withValues(alpha: 0.85),
|
color: AppColor.black1A1A1A.withValues(alpha: 0.85),
|
||||||
);
|
);
|
||||||
|
|
||||||
static final TextStyle suggestionContent = ThemeUtils.textStyleInter400.copyWith(
|
static final TextStyle suggestionContent =
|
||||||
|
ThemeUtils.textStyleInter400.copyWith(
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
height: 22 / 14,
|
height: 22 / 14,
|
||||||
letterSpacing: 0.4,
|
letterSpacing: 0.4,
|
||||||
|
|||||||
@@ -1,15 +1,7 @@
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/ai_action.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_cross_axis_alignment.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_placement.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/utils/context_menu/popup_submenu_controller.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/ai_scribe_modal_widget.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/ai_scribe_suggestion_widget.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_list_actions.dart';
|
|
||||||
|
|
||||||
class AiScribeModalManager {
|
class AiScribeModalManager {
|
||||||
AiScribeModalManager._();
|
AiScribeModalManager._();
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
import 'package:flutter/animation.dart';
|
import 'package:flutter/animation.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/anchored_modal_layout_input.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/anchored_modal_layout_result.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_cross_axis_alignment.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_placement.dart';
|
|
||||||
|
|
||||||
class AnchoredModalLayoutCalculator {
|
class AnchoredModalLayoutCalculator {
|
||||||
static AnchoredModalLayoutResult calculate({
|
static AnchoredModalLayoutResult calculate({
|
||||||
|
|||||||
@@ -1,8 +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:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
|
|
||||||
typedef OnOpenAiAssistantModal = void Function(
|
typedef OnOpenAiAssistantModal = void Function(
|
||||||
Offset? position,
|
Offset? position,
|
||||||
|
|||||||
@@ -1,10 +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:scribe/scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/utils/modal/ai_scribe_modal_manager.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_list_actions.dart';
|
|
||||||
|
|
||||||
class InlineAiAssistButton extends StatelessWidget {
|
class InlineAiAssistButton extends StatelessWidget {
|
||||||
final ImagePaths imagePaths;
|
final ImagePaths imagePaths;
|
||||||
|
|||||||
@@ -1,10 +1,6 @@
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_context_menu_action.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/utils/context_menu/popup_submenu_controller.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/context_menu/ai_scribe_context_menu_item.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/context_menu/ai_scribe_submenu.dart';
|
|
||||||
|
|
||||||
class AiScribeContextMenu extends StatefulWidget {
|
class AiScribeContextMenu extends StatefulWidget {
|
||||||
final ImagePaths imagePaths;
|
final ImagePaths imagePaths;
|
||||||
|
|||||||
+1
-3
@@ -2,9 +2,7 @@ import 'package:core/presentation/extensions/color_extension.dart';
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_context_menu_action.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/utils/context_menu/hover_submenu_controller.dart';
|
|
||||||
|
|
||||||
class AiScribeContextMenuItem extends StatefulWidget {
|
class AiScribeContextMenuItem extends StatefulWidget {
|
||||||
final AiScribeContextMenuAction menuAction;
|
final AiScribeContextMenuAction menuAction;
|
||||||
|
|||||||
@@ -1,7 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_context_menu_action.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/context_menu/ai_scribe_submenu_item.dart';
|
|
||||||
|
|
||||||
class AiScribeSubmenu extends StatelessWidget {
|
class AiScribeSubmenu extends StatelessWidget {
|
||||||
final List<AiScribeContextMenuAction> menuActions;
|
final List<AiScribeContextMenuAction> menuActions;
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
import 'package:core/presentation/extensions/color_extension.dart';
|
import 'package:core/presentation/extensions/color_extension.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_context_menu_action.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
|
|
||||||
class AiScribeSubmenuItem extends StatelessWidget {
|
class AiScribeSubmenuItem extends StatelessWidget {
|
||||||
final AiScribeContextMenuAction menuAction;
|
final AiScribeContextMenuAction menuAction;
|
||||||
|
|||||||
@@ -3,20 +3,7 @@ import 'dart:math';
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/ai_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_action_context_menu_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_category_context_menu_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_context_menu_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/anchored_modal_layout_input.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_cross_axis_alignment.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_placement.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/utils/context_menu/popup_submenu_controller.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/utils/modal/anchored_modal_layout_calculator.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/context_menu/ai_scribe_context_menu.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/search/ai_scribe_bar.dart';
|
|
||||||
|
|
||||||
class AiScribeModalWidget extends StatelessWidget {
|
class AiScribeModalWidget extends StatelessWidget {
|
||||||
final ImagePaths imagePaths;
|
final ImagePaths imagePaths;
|
||||||
|
|||||||
@@ -5,20 +5,7 @@ import 'package:dartz/dartz.dart' as dartz;
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||||
import 'package:scribe/scribe/ai/domain/state/generate_ai_text_state.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/domain/usecases/generate_ai_text_interactor.dart';
|
|
||||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/ai_action.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/anchored_modal_layout_input.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_cross_axis_alignment.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/model/modal/modal_placement.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/utils/modal/anchored_modal_layout_calculator.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_error.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_header.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_loading.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_list_actions.dart';
|
|
||||||
|
|
||||||
class AiScribeSuggestionWidget extends StatefulWidget {
|
class AiScribeSuggestionWidget extends StatefulWidget {
|
||||||
final AIAction aiAction;
|
final AIAction aiAction;
|
||||||
|
|||||||
+1
-2
@@ -1,8 +1,7 @@
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
|
|
||||||
class AiScribeSuggestionError extends StatelessWidget {
|
class AiScribeSuggestionError extends StatelessWidget {
|
||||||
final ImagePaths imagePaths;
|
final ImagePaths imagePaths;
|
||||||
|
|||||||
+1
-2
@@ -2,8 +2,7 @@ import 'package:core/presentation/extensions/color_extension.dart';
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
|
|
||||||
class AiScribeSuggestionLoading extends StatelessWidget {
|
class AiScribeSuggestionLoading extends StatelessWidget {
|
||||||
final ImagePaths imagePaths;
|
final ImagePaths imagePaths;
|
||||||
|
|||||||
+1
-2
@@ -1,7 +1,6 @@
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_list_actions.dart';
|
|
||||||
|
|
||||||
class AiScribeSuggestionSuccess extends StatelessWidget {
|
class AiScribeSuggestionSuccess extends StatelessWidget {
|
||||||
final ImagePaths imagePaths;
|
final ImagePaths imagePaths;
|
||||||
|
|||||||
+3
-3
@@ -1,8 +1,8 @@
|
|||||||
import 'package:core/core.dart';
|
import 'package:core/presentation/extensions/color_extension.dart';
|
||||||
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:core/presentation/views/dialog/confirm_dialog_button.dart';
|
import 'package:core/presentation/views/dialog/confirm_dialog_button.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_suggestion_actions.dart';
|
|
||||||
|
|
||||||
typedef OnSelectAiScribeSuggestionAction = void Function(
|
typedef OnSelectAiScribeSuggestionAction = void Function(
|
||||||
AiScribeSuggestionActions action,
|
AiScribeSuggestionActions action,
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/model/text_selection_model.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/button/inline_ai_assist_button.dart';
|
|
||||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_list_actions.dart';
|
|
||||||
|
|
||||||
class AiSelectionOverlay extends StatelessWidget {
|
class AiSelectionOverlay extends StatelessWidget {
|
||||||
const AiSelectionOverlay({
|
const AiSelectionOverlay({
|
||||||
|
|||||||
@@ -1,8 +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:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
import 'package:scribe/scribe.dart';
|
||||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
|
||||||
|
|
||||||
typedef OnCustomPromptCallback = void Function(String customPrompt);
|
typedef OnCustomPromptCallback = void Function(String customPrompt);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user