diff options
Diffstat (limited to 'watchos/InfiniSolar/InfiniSolar WatchKit Extension/PumpView.swift')
-rw-r--r-- | watchos/InfiniSolar/InfiniSolar WatchKit Extension/PumpView.swift | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/watchos/InfiniSolar/InfiniSolar WatchKit Extension/PumpView.swift b/watchos/InfiniSolar/InfiniSolar WatchKit Extension/PumpView.swift new file mode 100644 index 0000000..270996d --- /dev/null +++ b/watchos/InfiniSolar/InfiniSolar WatchKit Extension/PumpView.swift @@ -0,0 +1,60 @@ +// +// MainPumpView.swift +// InfiniSolar WatchKit Extension +// +// Created by Evgeny Zinoviev on 09.08.2021. +// + +import SwiftUI + +struct PumpView: View { + @ObservedObject var state = PumpState() + + var body: some View { + VStack(alignment: .leading) { + Text("Water pump") + .font(.title2) + .fontWeight(.thin) + Spacer().frame(height: 10) + + if self.state.loading == true { + Text("Loading...") + .fontWeight(.thin) + } + + else if self.state.error == true { + Text("Connection error.") + } + + else { + if self.state.isEnabled == true { + Text("The pump is ").fontWeight(.thin) + + Text("turned on") + Spacer().frame(height: 10) + Button(self.state.setting ? "..." : "Turn off") { + self.state.setState(on: false) + } + } else { + Text("The pump is ").fontWeight(.thin) + + Text("turned off") + Spacer().frame(height: 10) + Button(self.state.setting ? "..." : "Turn on") { + self.state.setState(on: true) + } + } + } + } + .onAppear() { + self.state.fetch() + } + .onDisappear() { + self.state.abort() + } + } +} + +struct PumpView_Previews: PreviewProvider { + static var previews: some View { + PumpView() + } +} |