import 'package:flutter_custom_toolbox/flutter_toolbox.dart';

import 'package:sortgame/data/fetch_data_helper.dart';

class DefaultActivitySettings {
  // available game parameters codes
  static const String parameterCodeItemsCount = 'itemsCount';
  static const String parameterCodeThemeCode = 'themeCode';
  static const List<String> availableParameters = [
    parameterCodeItemsCount,
    parameterCodeThemeCode,
  ];

  // items count: available values
  static const String itemsCountValueLow = '5';
  static const String itemsCountValueMedium = '10';
  static const String itemsCountValueHigh = '15';
  static const String itemsCountValueVeryHigh = '20';
  static const List<String> allowedItemsCountValues = [
    itemsCountValueLow,
    itemsCountValueMedium,
    itemsCountValueHigh,
    itemsCountValueVeryHigh,
  ];
  // items count: default value
  static const String defaultItemsCountValue = itemsCountValueMedium;

  // theme code: available values
  static List<String> allowedThemeCodeValues = FetchDataHelper().getThemesCodes();
  // theme code: default value
  static const String defaultThemeCodeValue = '';

  // available values from parameter code
  static List<String> getAvailableValues(String parameterCode) {
    switch (parameterCode) {
      case parameterCodeItemsCount:
        return DefaultActivitySettings.allowedItemsCountValues;
      case parameterCodeThemeCode:
        return DefaultActivitySettings.allowedThemeCodeValues;
    }

    printlog('Did not find any available value for game parameter "$parameterCode".');
    return [];
  }
}