mirror of
https://github.com/kuhyx/screen-locker.git
synced 2026-11-11 19:33:56 +01:00
The phone can now log an off-app workout that syncs to the PC and counts toward the unlock. - lib/screens/manual_workout_screen.dart: the form, mirroring the PC manual form (sport TT/other + sport-specific fields, times, location/transport/cost/ reservation phone, RPE slider, techniques/warm-up/pain, reflections). Shows the shared 2/week + 5/month budget (pull-only, computed over the merged cross-device record set) and refuses to submit when exhausted. On submit it validates with validateManualWorkout, builds the shared sync record, and pushes it to devices/phone/log.json. - workout_sync_service.dart: pushManual(record) and readMergedManualPayloads() (pull-only budget read — never writes). - models/manual_workout.dart: ManualBudget + countManualBudget over the merged payloads, windowed by each payload's own date. - home_screen.dart: a "Log manual workout" app-bar action. All new lib code is 100% covered (screen widget tests via an injected fake sync service; sync-service MockClient tests; model unit tests). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PM3auNTifaVgcXWDizZrjH |
||
|---|---|---|
| .. | ||
| exercise_result.dart | ||
| exercise.dart | ||
| manual_workout.dart | ||
| set_result.dart | ||
| workout_plan.dart | ||
| workout_session.dart | ||