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';

class ManageAccountRepositoryImpl extends ManageAccountRepository {

  final ManageAccountDataSource dataSource;

  ManageAccountRepositoryImpl(this.dataSource);

  @override
  Future<void> persistLanguage(Locale localeCurrent) {
    return dataSource.persistLanguage(localeCurrent);
  }

  @override
  Future<PreferencesSetting> toggleLocalSettingsState(PreferencesConfig preferencesConfig) {
    return dataSource.toggleLocalSettingsState(preferencesConfig);
  }

  @override
  Future<PreferencesSetting> getLocalSettings() {
    return dataSource.getLocalSettings();
  }

  @override
  Future<AIScribeConfig> getAiScribeConfigLocalSettings() {
    return dataSource.getAiScribeConfigLocalSettings();
  }

  @override
  Future<bool> getLabelVisibility() {
    return dataSource.getLabelVisibility();
  }

  @override
  Future<void> saveLabelVisibility(bool visible) {
    return dataSource.saveLabelVisibility(visible);
  }

  @override
  Future<bool> getLabelSettingState() {
    return dataSource.getLabelSettingState();
  }
}