aboutsummaryrefslogtreecommitdiff
path: root/Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenu.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenu.swift')
-rw-r--r--Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenu.swift32
1 files changed, 18 insertions, 14 deletions
diff --git a/Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenu.swift b/Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenu.swift
index 3a396aa..9478346 100644
--- a/Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenu.swift
+++ b/Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenu.swift
@@ -3,43 +3,47 @@ import SwiftUI
struct EvolutionPickerMenu: View {
@Binding var selectedEvolution: StageType
+
- private func select(_ evolution: StageType) {
- selectedEvolution = evolution
+ private func select(_ stageType: StageType) {
+ selectedEvolution = stageType
}
var body: some View {
VStack(alignment: .leading, spacing: 1.0) {
Section(header: EvolutionPickerMenuHeader(key: "stage_type.section.types")) {
ForEach(StageType.types) { stage in
- EvolutionPickerMenuItem(stage: stage, isSelected: selectedEvolution == stage)
+ EvolutionPickerMenuItem(stageType: stage, isSelected: selectedEvolution.id == stage.id)
.onTapGesture {
- selectedEvolution = stage
+ select(stage)
}
}
}
Section(header: EvolutionPickerMenuHeader(key: "stage_type.section.characteristics")) {
ForEach(StageType.characteristics) { stage in
- EvolutionPickerMenuItem(stage: stage, isSelected: selectedEvolution == stage)
+ EvolutionPickerMenuItem(stageType: stage, isSelected: selectedEvolution.id == stage.id)
.onTapGesture {
- selectedEvolution = stage
+ select(stage)
}
}
}
Section(header: EvolutionPickerMenuHeader(key: "stage_type.section.general_properties")) {
ForEach(StageType.properties) { stage in
- EvolutionPickerMenuItem(stage: stage, isSelected: selectedEvolution == stage)
+ EvolutionPickerMenuItem(stageType: stage, isSelected: selectedEvolution.id == stage.id)
.onTapGesture {
- selectedEvolution = stage
+ select(stage)
}
}
}
- Section(header: EvolutionPickerMenuHeader(key: "stage_type.section.other")) {
- ForEach(StageType.custom) { stage in
- EvolutionPickerMenuItem(stage: stage, isSelected: selectedEvolution == stage)
- .onTapGesture {
- selectedEvolution = stage
- }
+ Section(header: EvolutionPickerMenuHeader(key: "stage_type.section.custom")) {
+ ForEach(StageType.customStages) { customStage in
+ EvolutionPickerMenuItem(
+ stageType: customStage,
+ isSelected: selectedEvolution.id == customStage.id
+ )
+ .onTapGesture {
+ select(customStage)
+ }
}
}
}