Rework the Apple Watch progress flow

Watch root lists every in-progress workout; picking an exercise runs a paged Ready -> work/rest -> Finish flow (One More + auto-firing Done), with a phase-dot row and brand-tinted count-up/down timers. Includes the configurable rest and auto-finish settings synced over WatchConnectivity and the wrist-down timer fix.
This commit is contained in:
2026-06-20 14:15:31 -04:00
parent f2da47a70a
commit f06c4e996e
9 changed files with 373 additions and 111 deletions
@@ -43,10 +43,12 @@ final class PhoneConnectivityBridge: NSObject {
let workouts = (try? context.fetch(wDesc)) ?? []
let restSeconds = UserDefaults.standard.object(forKey: WCPayload.restSecondsKey) as? Int ?? 45
let doneCountdownSeconds = UserDefaults.standard.object(forKey: WCPayload.doneCountdownSecondsKey) as? Int ?? 5
let payload = WCPayload.encodeState(
splits: splits.map(SplitDocument.init(from:)),
workouts: workouts.map(WorkoutDocument.init(from:)),
restSeconds: restSeconds
restSeconds: restSeconds,
doneCountdownSeconds: doneCountdownSeconds
)
try? session.updateApplicationContext(payload)
}