Use bindings to better separate scribe presentation and data layer

This commit is contained in:
Théo Poizat
2025-12-08 15:03:33 +01:00
committed by Dat H. Pham
parent 6dc58e2eb6
commit bb23792fe3
7 changed files with 61 additions and 10 deletions
@@ -74,6 +74,7 @@ import 'package:tmail_ui_user/main/exceptions/cache_exception_thrower.dart';
import 'package:tmail_ui_user/main/exceptions/remote_exception_thrower.dart';
import 'package:tmail_ui_user/main/utils/ios_sharing_manager.dart';
import 'package:uuid/uuid.dart';
import 'package:scribe/scribe/ai/domain/usecases/generate_ai_text_interactor.dart';
class ComposerBindings extends BaseBindings {
@@ -338,6 +339,7 @@ class ComposerBindings extends BaseBindings {
Get.find<PrintEmailInteractor>(tag: composerId),
Get.find<ComposerRepository>(tag: composerId),
Get.find<SaveTemplateEmailInteractor>(tag: composerId),
Get.find<GenerateAITextInteractor>(),
composerId: composerId,
composerArgs: composerArguments,
), tag: composerId);
@@ -180,6 +180,7 @@ class ComposerController extends BaseController
final String? composerId;
final ComposerArguments? composerArgs;
final SaveTemplateEmailInteractor _saveTemplateEmailInteractor;
final GenerateAITextInteractor _generateAITextInteractor;
GetAllAutoCompleteInteractor? _getAllAutoCompleteInteractor;
GetAutoCompleteInteractor? _getAutoCompleteInteractor;
@@ -287,6 +288,7 @@ class ComposerController extends BaseController
this.printEmailInteractor,
this._composerRepository,
this._saveTemplateEmailInteractor,
this._generateAITextInteractor,
{
this.composerId,
this.composerArgs,
@@ -920,6 +922,7 @@ class ComposerController extends BaseController
imagePaths: imagePaths,
content: fullText,
onInsertText: insertTextInEditor,
interactor: _generateAITextInteractor,
buttonPosition: buttonPosition,
);
}
@@ -935,6 +938,7 @@ class ComposerController extends BaseController
imagePaths: imagePaths,
content: selection,
onInsertText: insertTextInEditor,
interactor: _generateAITextInteractor,
buttonPosition: buttonPosition,
);
}