feat: workout flow — detail, player, and complete screens

Workout detail (workout/[id]):
- Dynamic data via useLocalSearchParams + getWorkoutById
- VideoPlayer hero with trainer color gradient fallback
- Exercise list, equipment, music vibe, "Start Workout" CTA

Player (player/[id]):
- useTimer hook drives phase transitions (PREP/WORK/REST/COMPLETE)
- useHaptics for phase changes and countdown ticks
- useAudio for sound effects (beeps, dings, completion chime)
- Real calorie tracking, progress ring, exercise display
- Saves WorkoutResult to activityStore on completion

Complete (complete/[id]):
- Reads real stats from activityStore history
- Burn bar, streak counter, calories/duration/completion stats
- Recommended workouts, share via expo-sharing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Millian Lamiaux
2026-02-20 13:24:21 +01:00
parent 99d8fba852
commit b0521ded5a
6 changed files with 1871 additions and 0 deletions

12
app/player/CLAUDE.md Normal file
View File

@@ -0,0 +1,12 @@
<claude-mem-context>
# Recent Activity
<!-- This section is auto-generated by claude-mem. Edit content outside the tags. -->
### Feb 19, 2026
| ID | Time | T | Title | Read |
|----|------|---|-------|------|
| #5000 | 9:35 AM | 🔵 | Reviewed Player Screen Implementation | ~522 |
| #4912 | 8:16 AM | 🔵 | Found doneButton component in player screen | ~104 |
</claude-mem-context>