| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import SwiftUI
- struct TempTargetsView: View {
- @EnvironmentObject var state: WatchStateModel
- var body: some View {
- List {
- if state.tempTargets.isEmpty {
- Text("Set temp targets presets on iPhone first").padding()
- } else {
- ForEach(state.tempTargets) { target in
- Button {
- WKInterfaceDevice.current().play(.click)
- state.enactTempTarget(id: target.id)
- } label: {
- VStack(alignment: .leading) {
- HStack {
- Text(target.name)
- if let until = target.until, until > Date() {
- Spacer()
- Text(until, style: .timer).foregroundColor(.loopGreen)
- }
- }
- Text(target.description).font(.caption2).foregroundColor(.secondary)
- }
- }
- }
- }
- Button {
- WKInterfaceDevice.current().play(.click)
- state.enactTempTarget(id: "cancel")
- } label: {
- Text("Cancel Temp Target")
- }
- }
- .navigationTitle("Temp Targets")
- }
- }
- struct TempTargetsView_Previews: PreviewProvider {
- static var previews: some View {
- let model = WatchStateModel()
- model.tempTargets = [
- TempTargetWatchPreset(
- name: "Target 0",
- id: UUID().uuidString,
- description: "blablabla",
- until: Date().addingTimeInterval(60 * 60)
- ),
- TempTargetWatchPreset(name: "target1", id: UUID().uuidString, description: "blablabla", until: nil),
- TempTargetWatchPreset(name: "🤖 Target 2", id: UUID().uuidString, description: "blablabla", until: nil)
- ]
- return TempTargetsView().environmentObject(model)
- }
- }
|