TF-4193 Show/Hide Label list when toggle label state in Setting

This commit is contained in:
dab246
2025-12-09 16:05:19 +07:00
committed by Dat H. Pham
parent 10038a3836
commit ef2ab39a3a
18 changed files with 209 additions and 24 deletions
@@ -5,6 +5,7 @@ import 'package:tmail_ui_user/features/manage_account/data/local/language_cache_
import 'package:tmail_ui_user/features/manage_account/data/local/preferences_setting_manager.dart';
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/ai_scribe_config.dart';
import 'package:tmail_ui_user/features/manage_account/data/local/setting_cache_manager.dart';
import 'package:tmail_ui_user/features/manage_account/domain/model/preferences/label_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/model/preferences/spam_report_config.dart';
@@ -52,6 +53,10 @@ class ManageAccountDataSourceImpl extends ManageAccountDataSource {
await _preferencesSettingManager.updateAIScribe(
preferencesConfig.isEnabled,
);
} else if (preferencesConfig is LabelConfig) {
await _preferencesSettingManager.updateLabel(
preferencesConfig.isEnabled,
);
} else {
await _preferencesSettingManager.savePreferences(
preferencesConfig,
@@ -94,4 +99,15 @@ class ManageAccountDataSourceImpl extends ManageAccountDataSource {
throw error;
});
}
@override
Future<bool> getLabelSettingState() {
return Future.sync(() async {
final labelConfig = await _preferencesSettingManager.getLabelConfig();
return labelConfig.isEnabled;
}).catchError((error, stackTrace) async {
await _exceptionThrower.throwException(error, stackTrace);
throw error;
});
}
}