Give the watch workout screen entirely to the up/down timer
The half-and-half split (paged timer over the looping form-guide figure) is now iPhone-only. On the watch the ExerciseProgressView TabView fills the whole screen — the figure slot is gone from both the active flow and the Completed state, and the ExerciseFigure sources and ExerciseMotions resources are dropped from the watch target since nothing there uses them. Claude-Session: https://claude.ai/code/session_01HJDQQDA9QdP8zByg43H5v3
This commit is contained in:
@@ -189,38 +189,29 @@ struct ExerciseProgressView: View {
|
||||
|
||||
var body: some View {
|
||||
if startsCompleted {
|
||||
// Same top/bottom split as the run flow, so the form-guide figure
|
||||
// stays on screen (matching the iPhone counterpart).
|
||||
VStack(spacing: 0) {
|
||||
CompletedPhaseView()
|
||||
ExerciseFigureSlot(exerciseName: log?.exerciseName ?? "")
|
||||
}
|
||||
CompletedPhaseView()
|
||||
} else {
|
||||
flowBody
|
||||
}
|
||||
}
|
||||
|
||||
private var flowBody: some View {
|
||||
VStack(spacing: 0) {
|
||||
// Paged flow — top half.
|
||||
TabView(selection: $currentPage) {
|
||||
ForEach(0..<totalPages, id: \.self) { index in
|
||||
page(for: index)
|
||||
.tag(index)
|
||||
}
|
||||
// The full-screen paged counter flow. Unlike the iPhone's half-and-half split,
|
||||
// the watch shows no form-guide figure beneath it — the small screen is given
|
||||
// over entirely to the up/down timer.
|
||||
TabView(selection: $currentPage) {
|
||||
ForEach(0..<totalPages, id: \.self) { index in
|
||||
page(for: index)
|
||||
.tag(index)
|
||||
}
|
||||
.tabViewStyle(.page(indexDisplayMode: .never))
|
||||
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
||||
.overlay(alignment: .bottom) {
|
||||
if let dots = workDots {
|
||||
WorkPhaseDots(model: dots)
|
||||
.padding(.bottom, 2)
|
||||
}
|
||||
}
|
||||
.tabViewStyle(.page(indexDisplayMode: .never))
|
||||
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
||||
.overlay(alignment: .bottom) {
|
||||
if let dots = workDots {
|
||||
WorkPhaseDots(model: dots)
|
||||
.padding(.bottom, 2)
|
||||
}
|
||||
|
||||
// Bottom half: the looping form-guide figure when a bundled motion
|
||||
// matches this exercise; empty space otherwise.
|
||||
ExerciseFigureSlot(exerciseName: log?.exerciseName ?? "")
|
||||
}
|
||||
.toolbar {
|
||||
ToolbarItem(placement: .cancellationAction) {
|
||||
|
||||
Reference in New Issue
Block a user