diff --git a/lib/domain/models/charts/chart_gender_model.dart b/lib/domain/models/charts/chart_gender_model.dart new file mode 100644 index 000000000..e31361544 --- /dev/null +++ b/lib/domain/models/charts/chart_gender_model.dart @@ -0,0 +1,14 @@ +import 'package:freezed_annotation/freezed_annotation.dart'; +import 'package:shiori/domain/enums/enums.dart'; + +part 'chart_gender_model.freezed.dart'; + +@freezed +class ChartGenderModel with _$ChartGenderModel { + const factory ChartGenderModel({ + required int maleCount, + required int femaleCount, + required int maxCount, + required RegionType regionType, + }) = _ChartGenderModel; +} diff --git a/lib/domain/models/models.dart b/lib/domain/models/models.dart index 74e492e4e..fd1e69431 100644 --- a/lib/domain/models/models.dart +++ b/lib/domain/models/models.dart @@ -19,6 +19,7 @@ export 'charts/chart_ascension_stat_model.dart'; export 'charts/chart_birthday_month_model.dart'; export 'charts/chart_character_region_model.dart'; export 'charts/chart_element_item_model.dart'; +export 'charts/chart_gender_model.dart'; export 'charts/chart_top_item_model.dart'; export 'custom_builds/custom_build_artifact_model.dart'; export 'custom_builds/custom_build_model.dart'; diff --git a/lib/domain/services/genshin_service.dart b/lib/domain/services/genshin_service.dart index 45854f6e8..a69a191aa 100644 --- a/lib/domain/services/genshin_service.dart +++ b/lib/domain/services/genshin_service.dart @@ -98,7 +98,10 @@ abstract class GenshinService { List getElementsForCharts(double fromVersion, double untilVersion); List getItemAscensionStatsForCharts(ItemType itemType); List getCharacterRegionsForCharts(); + List getCharacterGendersForCharts(); + ChartGenderModel getCharacterGendersByRegionForCharts(RegionType regionType); List getCharactersForItemsByRegion(RegionType regionType); + List getCharactersForItemsByRegionAndGender(RegionType regionType, bool onlyFemales); List getCharacterBirthdays({int? month, int? day});