aboutsummaryrefslogtreecommitdiff
path: root/Map/Presentation/EvolutionPicker.swift
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2024-09-16 11:10:32 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2024-09-16 11:10:32 +0200
commite2c37ac1dd2ad562e3d619d39b72a174a2212b67 (patch)
treed4da2c0a12db0473eb4030014a92045eebe38834 /Map/Presentation/EvolutionPicker.swift
parentfdb4633d3e9158e457d57e820df6e1efb4df39c2 (diff)
Map 3 first commit: files, groups and layout
Diffstat (limited to 'Map/Presentation/EvolutionPicker.swift')
-rw-r--r--Map/Presentation/EvolutionPicker.swift41
1 files changed, 41 insertions, 0 deletions
diff --git a/Map/Presentation/EvolutionPicker.swift b/Map/Presentation/EvolutionPicker.swift
new file mode 100644
index 0000000..0f4c954
--- /dev/null
+++ b/Map/Presentation/EvolutionPicker.swift
@@ -0,0 +1,41 @@
+import SwiftUI
+
+struct EvolutionPicker: View {
+
+ @EnvironmentObject private var store: AppStore
+
+ private var selectedEvolution: Binding<StageType> {
+ Binding(
+ get: { store.state.selectedEvolution },
+ set: { evolution in
+ store.send(.selectEvolution(evolution: evolution))
+ }
+ )
+ }
+
+ var body: some View {
+ Picker("Evolution", selection: selectedEvolution) {
+ ForEach(StageType.types) { stage in
+ Text(Stage.title(stage)).font(.theme.body).tag(stage).padding(4.0)
+ }
+ Divider()
+ ForEach(StageType.characteristics) { stage in
+ Text(Stage.title(stage)).font(.theme.body).tag(stage).padding(4.0).font(.theme.body)
+ }
+ Divider()
+ ForEach(StageType.properties) { stage in
+ Text(Stage.title(stage)).font(.theme.body).tag(stage).padding(4.0)
+ }
+ Divider()
+ ForEach(StageType.custom) { stage in
+ Text(Stage.title(stage)).font(.theme.body).tag(stage).padding(4.0)
+ }
+ }.font(.theme.body).padding(.horizontal, 8.0).padding(.vertical, 4.0)
+ }
+}
+
+struct EvolutionPicker_Previews: PreviewProvider {
+ static var previews: some View {
+ EvolutionPicker()
+ }
+}