]> git.r.bdr.sh - rbdr/map/blame_incremental - Map/Views/EvolutionPicker.swift
Fix performance and undo
[rbdr/map] / Map / Views / EvolutionPicker.swift
... / ...
CommitLineData
1//
2// EvolutionPicker.swift
3// Map
4//
5// Created by Ruben Beltran del Rio on 2/4/21.
6//
7
8import SwiftUI
9
10struct EvolutionPicker: View {
11
12 @EnvironmentObject private var store: AppStore
13
14 private var selectedEvolution: Binding<StageType> {
15 Binding(
16 get: { store.state.selectedEvolution },
17 set: { evolution in
18 store.send(.selectEvolution(evolution: evolution))
19 }
20 )
21 }
22
23 var body: some View {
24 Picker("Evolution", selection: selectedEvolution) {
25 ForEach(StageType.types) { stage in
26 Text(Stage.title(stage)).tag(stage).padding(4.0)
27 }
28 Divider()
29 ForEach(StageType.characteristics) { stage in
30 Text(Stage.title(stage)).tag(stage).padding(4.0)
31 }
32 Divider()
33 ForEach(StageType.properties) { stage in
34 Text(Stage.title(stage)).tag(stage).padding(4.0)
35 }
36 Divider()
37 ForEach(StageType.custom) { stage in
38 Text(Stage.title(stage)).tag(stage).padding(4.0)
39 }
40 }.padding(.horizontal, 8.0).padding(.vertical, 4.0)
41 }
42}
43
44struct EvolutionPicker_Previews: PreviewProvider {
45 static var previews: some View {
46 EvolutionPicker()
47 }
48}