test(e2e): add Playwright with browser tests for login, logo, dashboard
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# Gravl PM - Active Task Queue
|
||||
|
||||
## Current: 04-03 Frontend - Workout Edit Mode
|
||||
**Status:** IN PROGRESS (recovery from interruption)
|
||||
**Agent:** Frontend (Claude Code)
|
||||
**Directory:** /workspace/gravl/frontend
|
||||
|
||||
### Tasks
|
||||
|
||||
#### 1. Add "Edit Workout" Button
|
||||
- Add edit button/icon on WorkoutSelectPage for program workouts
|
||||
- Only show for workouts that are part of a program
|
||||
- Button triggers edit mode/modal
|
||||
|
||||
#### 2. Create ExercisePicker Modal/Component
|
||||
- Modal for selecting exercises from the database
|
||||
- Search/filter functionality
|
||||
- Exercise list with categories
|
||||
- Select exercise with click/tap
|
||||
- Reuse existing exercise data from current workout flow
|
||||
|
||||
#### 3. Implement Swap Exercise Flow
|
||||
- On exercise row in edit mode, show swap button
|
||||
- Open ExercisePicker modal
|
||||
- Replace selected exercise in workout structure
|
||||
- Maintain set/rep info where applicable
|
||||
|
||||
#### 4. Implement Add Exercise Flow
|
||||
- "Add Exercise" button at bottom of workout
|
||||
- Open ExercisePicker modal
|
||||
- Append new exercise to workout with default sets/reps
|
||||
- Allow configuring sets/reps for new exercise
|
||||
|
||||
#### 5. Fork Confirmation Dialog
|
||||
- When user first modifies a program workout
|
||||
- Explain: "This creates your personal version of this workout"
|
||||
- Options: "Cancel", "Create My Version"
|
||||
- Show only once per workout (set flag)
|
||||
|
||||
#### 6. Save Custom Workout
|
||||
- POST to /api/custom-workouts on first modification (creates fork)
|
||||
- PUT to /api/custom-workouts/:id on subsequent changes
|
||||
- Update local state to use custom_workout_id
|
||||
- Mark workout as "custom" in UI
|
||||
|
||||
### API Endpoints Available (from 04-02)
|
||||
- POST /api/custom-workouts - Create custom workout from program
|
||||
- PUT /api/custom-workouts/:id - Update exercises
|
||||
- GET /api/custom-workouts/:id - Fetch with exercises
|
||||
- GET /api/custom-workouts - List user's custom workouts
|
||||
|
||||
### Database Schema (from 04-01)
|
||||
- custom_workouts table with user_id, name, original_program_day_id
|
||||
- custom_workout_exercises table with exercise_id, set_order, sets, reps
|
||||
|
||||
### Success Criteria
|
||||
- [ ] "Edit Workout" button visible on program workouts
|
||||
- [ ] Exercise picker modal opens and shows exercises
|
||||
- [ ] Can swap an exercise (replaces in workout)
|
||||
- [ ] Can add new exercise (appends to workout)
|
||||
- [ ] Fork confirmation shown on first edit
|
||||
- [ ] Custom workout saves to backend
|
||||
- [ ] Subsequent sessions use custom workout
|
||||
|
||||
### Next After This
|
||||
- 04-04: Visual distinction (custom vs program badges)
|
||||
- 04-05: Reset to original program option
|
||||
|
||||
Reference in New Issue
Block a user