diff options
Diffstat (limited to 'Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenu.swift')
| -rw-r--r-- | Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenu.swift | 32 |
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) + } } } } |