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/state/generate_ai_text_state.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_capability.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_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/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/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/anchored_modal_layout_calculator.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/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/search/ai_scribe_bar.dart';
|
||||
|
||||
@@ -6,11 +6,10 @@ part 'ai_api_response.g.dart';
|
||||
class AIApiResponse {
|
||||
final List<Choice> choices;
|
||||
|
||||
const AIApiResponse({
|
||||
required this.choices
|
||||
});
|
||||
const AIApiResponse({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);
|
||||
|
||||
@@ -21,9 +20,7 @@ class AIApiResponse {
|
||||
class Choice {
|
||||
final Message message;
|
||||
|
||||
const Choice({
|
||||
required this.message
|
||||
});
|
||||
const Choice({required this.message});
|
||||
|
||||
factory Choice.fromJson(Map<String, dynamic> json) => _$ChoiceFromJson(json);
|
||||
|
||||
@@ -34,11 +31,10 @@ class Choice {
|
||||
class Message {
|
||||
final String content;
|
||||
|
||||
const Message({
|
||||
required this.content
|
||||
});
|
||||
const Message({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);
|
||||
}
|
||||
|
||||
@@ -6,8 +6,10 @@ import 'package:scribe/scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
||||
class AIPrompts {
|
||||
static String buildPrompt(AIAction action, String? text) {
|
||||
return switch (action) {
|
||||
PredefinedAction(action: final menuAction) => buildPredefinedPrompt(menuAction, text ?? ''),
|
||||
CustomPromptAction(prompt: final customPrompt) => buildCustomPrompt(customPrompt, text),
|
||||
PredefinedAction(action: final menuAction) =>
|
||||
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';
|
||||
|
||||
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: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/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 {
|
||||
|
||||
final String aiEndpoint;
|
||||
|
||||
AIScribeBindings(this.aiEndpoint);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/model/ai_scribe_menu_action.dart';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
sealed class AIAction {
|
||||
const AIAction();
|
||||
|
||||
@@ -9,13 +9,16 @@ class AICapability extends CapabilityProperties {
|
||||
|
||||
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);
|
||||
|
||||
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
|
||||
List<Object?> get props => [scribeEndpoint];
|
||||
|
||||
+1
-3
@@ -1,7 +1,5 @@
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeActionContextMenuAction
|
||||
extends AiScribeContextMenuAction<AIScribeMenuAction> {
|
||||
|
||||
+1
-4
@@ -1,8 +1,5 @@
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeCategoryContextMenuAction
|
||||
extends AiScribeContextMenuAction<AIScribeMenuCategory> {
|
||||
|
||||
+1
-1
@@ -12,4 +12,4 @@ enum AiScribeSuggestionActions {
|
||||
return localizations.insert;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'package:flutter/animation.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.dart';
|
||||
|
||||
class AnchoredModalLayoutInput {
|
||||
final Size screenSize;
|
||||
|
||||
@@ -1,6 +1 @@
|
||||
enum ModalPlacement {
|
||||
right,
|
||||
bottom,
|
||||
top,
|
||||
left
|
||||
}
|
||||
enum ModalPlacement { right, bottom, top, left }
|
||||
|
||||
@@ -68,21 +68,24 @@ abstract final class AIScribeTextStyles {
|
||||
color: Colors.black.withValues(alpha: 0.85),
|
||||
);
|
||||
|
||||
static final TextStyle suggestionTitle = ThemeUtils.textStyleInter700().copyWith(
|
||||
static final TextStyle suggestionTitle =
|
||||
ThemeUtils.textStyleInter700().copyWith(
|
||||
fontSize: 14,
|
||||
height: 22 / 14,
|
||||
letterSpacing: 0.4,
|
||||
color: AppColor.black1A1A1A.withValues(alpha: 0.85),
|
||||
);
|
||||
|
||||
static final TextStyle suggestionLoading = ThemeUtils.textStyleInter400.copyWith(
|
||||
static final TextStyle suggestionLoading =
|
||||
ThemeUtils.textStyleInter400.copyWith(
|
||||
fontSize: 14,
|
||||
height: 22 / 14,
|
||||
letterSpacing: 0.4,
|
||||
color: AppColor.black1A1A1A.withValues(alpha: 0.85),
|
||||
);
|
||||
|
||||
static final TextStyle suggestionContent = ThemeUtils.textStyleInter400.copyWith(
|
||||
static final TextStyle suggestionContent =
|
||||
ThemeUtils.textStyleInter400.copyWith(
|
||||
fontSize: 14,
|
||||
height: 22 / 14,
|
||||
letterSpacing: 0.4,
|
||||
|
||||
@@ -1,15 +1,7 @@
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.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/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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeModalManager {
|
||||
AiScribeModalManager._();
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
import 'package:flutter/animation.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/model/modal/anchored_modal_layout_input.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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AnchoredModalLayoutCalculator {
|
||||
static AnchoredModalLayoutResult calculate({
|
||||
|
||||
@@ -1,8 +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/localizations/scribe_localizations.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
typedef OnOpenAiAssistantModal = void Function(
|
||||
Offset? position,
|
||||
|
||||
@@ -1,10 +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/model/ai_scribe_menu_action.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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class InlineAiAssistButton extends StatelessWidget {
|
||||
final ImagePaths imagePaths;
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
import 'package:core/presentation/resources/image_paths.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/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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeContextMenu extends StatefulWidget {
|
||||
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:flutter/material.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/ai/presentation/styles/ai_scribe_styles.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/utils/context_menu/hover_submenu_controller.dart';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeContextMenuItem extends StatefulWidget {
|
||||
final AiScribeContextMenuAction menuAction;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_context_menu_action.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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeSubmenu extends StatelessWidget {
|
||||
final List<AiScribeContextMenuAction> menuActions;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import 'package:core/presentation/extensions/color_extension.dart';
|
||||
import 'package:flutter/material.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/ai/presentation/styles/ai_scribe_styles.dart';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeSubmenuItem extends StatelessWidget {
|
||||
final AiScribeContextMenuAction menuAction;
|
||||
|
||||
@@ -3,20 +3,7 @@ import 'dart:math';
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.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/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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeModalWidget extends StatelessWidget {
|
||||
final ImagePaths imagePaths;
|
||||
|
||||
@@ -5,20 +5,7 @@ import 'package:dartz/dartz.dart' as dartz;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:scribe/scribe/ai/domain/state/generate_ai_text_state.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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeSuggestionWidget extends StatefulWidget {
|
||||
final AIAction aiAction;
|
||||
|
||||
+1
-2
@@ -1,8 +1,7 @@
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeSuggestionError extends StatelessWidget {
|
||||
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:flutter/material.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeSuggestionLoading extends StatelessWidget {
|
||||
final ImagePaths imagePaths;
|
||||
|
||||
+1
-2
@@ -1,7 +1,6 @@
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/widgets/modal/suggestion/ai_scribe_suggestion_success_list_actions.dart';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiScribeSuggestionSuccess extends StatelessWidget {
|
||||
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:flutter/material.dart';
|
||||
import 'package:scribe/scribe/ai/localizations/scribe_localizations.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/model/context_menu/ai_scribe_suggestion_actions.dart';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
typedef OnSelectAiScribeSuggestionAction = void Function(
|
||||
AiScribeSuggestionActions action,
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:pointer_interceptor/pointer_interceptor.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/model/text_selection_model.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';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
class AiSelectionOverlay extends StatelessWidget {
|
||||
const AiSelectionOverlay({
|
||||
|
||||
@@ -1,8 +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/localizations/scribe_localizations.dart';
|
||||
import 'package:scribe/scribe/ai/presentation/styles/ai_scribe_styles.dart';
|
||||
import 'package:scribe/scribe.dart';
|
||||
|
||||
typedef OnCustomPromptCallback = void Function(String customPrompt);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user