diff options
Diffstat (limited to 'Map/Presentation/Base Components')
3 files changed, 23 insertions, 19 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) + } } } } diff --git a/Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenuItem.swift b/Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenuItem.swift index 1731e8d..cac1b08 100644 --- a/Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenuItem.swift +++ b/Map/Presentation/Base Components/EvolutionPicker/EvolutionPickerMenuItem.swift @@ -4,7 +4,7 @@ struct EvolutionPickerMenuItem: View { @State var isHovered: Bool = false - let stage: StageType + let stageType: StageType let isSelected: Bool var body: some View { @@ -12,7 +12,7 @@ struct EvolutionPickerMenuItem: View { Image(systemName: "checkmark") .opacity(isSelected ? 1.0 : 0.0) .bold(true) - Text(Stage.title(stage)) + Text(Stage.title(stageType)) .font(isSelected ? .Theme.Body.emphasized : .Theme.Body.regular) .padding(Dimensions.Spacing.cozy) Spacer() @@ -27,6 +27,6 @@ struct EvolutionPickerMenuItem: View { } #Preview { - EvolutionPickerMenuItem(stage: .behavior, isSelected: false) - EvolutionPickerMenuItem(stage: .ubiquity, isSelected: true) + EvolutionPickerMenuItem(stageType: .behavior, isSelected: false) + EvolutionPickerMenuItem(stageType: .ubiquity, isSelected: true) } diff --git a/Map/Presentation/Base Components/MapRender/MapAxes.swift b/Map/Presentation/Base Components/MapRender/MapAxes.swift index 48e0b6d..3a94a13 100644 --- a/Map/Presentation/Base Components/MapRender/MapAxes.swift +++ b/Map/Presentation/Base Components/MapRender/MapAxes.swift @@ -94,6 +94,6 @@ struct MapAxes: View { #Preview { MapAxes( mapSize: CGSize(width: 200.0, height: 200.0), lineWidth: CGFloat(1.0), - evolution: Stage.stages(.general), stages: [25.0, 50.0, 75.0] + evolution: Stage.stages(StageType.general), stages: [25.0, 50.0, 75.0] ).padding(50.0) } |