feat(ai-scribe): Load AI scribe config in dashboard

This commit is contained in:
dab246
2025-12-19 15:05:41 +07:00
committed by Dat H. Pham
parent 256234b3d8
commit 6e56a50713
18 changed files with 114 additions and 50 deletions
@@ -1,5 +1,6 @@
import 'dart:ui';
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/ai_scribe_config.dart';
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_config.dart';
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_setting.dart';
@@ -9,4 +10,6 @@ abstract class ManageAccountDataSource {
Future<PreferencesSetting> toggleLocalSettingsState(PreferencesConfig preferencesConfig);
Future<PreferencesSetting> getLocalSettings();
Future<AIScribeConfig> getAiScribeConfigLocalSettings();
}
@@ -64,4 +64,11 @@ class ManageAccountDataSourceImpl extends ManageAccountDataSource {
return await _preferencesSettingManager.loadPreferences();
}).catchError(_exceptionThrower.throwException);
}
@override
Future<AIScribeConfig> getAiScribeConfigLocalSettings() {
return Future.sync(() async {
return await _preferencesSettingManager.getAIScribeConfig();
}).catchError(_exceptionThrower.throwException);
}
}
@@ -166,6 +166,4 @@ class PreferencesSettingManager {
final updatedConfig = currentConfig.copyWith(isEnabled: isEnabled);
await savePreferences(updatedConfig);
}
}
@@ -1,6 +1,7 @@
import 'dart:ui';
import 'package:tmail_ui_user/features/manage_account/data/datasource/manage_account_datasource.dart';
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/ai_scribe_config.dart';
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_config.dart';
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/preferences_setting.dart';
import 'package:tmail_ui_user/features/manage_account/domain/repository/manage_account_repository.dart';
@@ -25,4 +26,9 @@ class ManageAccountRepositoryImpl extends ManageAccountRepository {
Future<PreferencesSetting> getLocalSettings() {
return dataSource.getLocalSettings();
}
@override
Future<AIScribeConfig> getAiScribeConfigLocalSettings() {
return dataSource.getAiScribeConfigLocalSettings();
}
}