import 'package:jeweled/config/default_global_settings.dart';

class GlobalSettings {
  final int colorsTheme;

  GlobalSettings({
    required this.colorsTheme,
  });

  static int getColorsThemeValueFromUnsafe(int colorsTheme) {
    if (DefaultGlobalSettings.allowedColorsThemeValues.contains(colorsTheme)) {
      return colorsTheme;
    }

    return DefaultGlobalSettings.defaultColorsThemeValue;
  }

  factory GlobalSettings.createDefault() {
    return GlobalSettings(
      colorsTheme: DefaultGlobalSettings.defaultColorsThemeValue,
    );
  }

  void dump() {
    print('Settings: ');
    print('  colorsTheme: ' + colorsTheme.toString());
  }

  String toString() {
    return 'GlobalSettings(' + this.toJson().toString() + ')';
  }

  Map<String, dynamic>? toJson() {
    return <String, dynamic>{
      'colorsTheme': this.colorsTheme,
    };
  }
}