From b4da24b5727d32d209aee6bf414e66470149e134 Mon Sep 17 00:00:00 2001 From: Alexander Bocken Date: Sat, 11 Apr 2026 17:40:49 +0200 Subject: [PATCH] feat: add hold timer for timed exercises with full sync support - Play/Stop button replaces checkmark for duration-only exercises - Green countdown bar with auto-completion and rest timer chaining - Display duration in seconds (SEC) instead of minutes for holds - ActiveWorkout model now preserves distance/duration fields on sync - Hold timer state syncs across devices via SSE - Workout summary shows per-set hold times for duration exercises - Template diff compares and displays duration changes correctly --- package.json | 2 +- src/lib/components/fitness/SetTable.svelte | 128 ++++++++++++++-- src/lib/js/workout.svelte.ts | 138 +++++++++++++++++- src/lib/js/workoutSync.svelte.ts | 22 ++- src/models/ActiveWorkout.ts | 24 +++ .../api/fitness/workout/active/+server.ts | 6 +- .../[active=fitnessActive]/+page.svelte | 72 ++++++--- 7 files changed, 351 insertions(+), 41 deletions(-) diff --git a/package.json b/package.json index 0b458dc..203100f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "homepage", - "version": "1.25.3", + "version": "1.26.0", "private": true, "type": "module", "scripts": { diff --git a/src/lib/components/fitness/SetTable.svelte b/src/lib/components/fitness/SetTable.svelte index d9dd5bd..47e5493 100644 --- a/src/lib/components/fitness/SetTable.svelte +++ b/src/lib/components/fitness/SetTable.svelte @@ -1,5 +1,5 @@