# Requirements: Gravl Workout UX **Defined:** 2026-02-15 **Core Value:** Att logga ett träningspass ska vara snabbt, tydligt och flexibelt ## v1 Requirements ### Input UX - [ ] **INP-01**: Viktfält visar "kg" suffix synligt i inputen - [ ] **INP-02**: Reps-input förhindrar negativa värden (min=0) - [ ] **INP-03**: Vikt-input förhindrar negativa värden (min=0) - [ ] **INP-04**: Alla input-fält och knappar har minst 44px höjd (touch targets) - [ ] **INP-05**: Input font-size minst 16px (förhindrar iOS auto-zoom) - [ ] **INP-06**: Stepper-input med +/- knappar för vikt (steg 2.5kg) - [ ] **INP-07**: Stepper-input med +/- knappar för reps (steg 1) ### Set Management - [ ] **SET-01**: Användare kan lägga till extra set på vilken övning som helst under ett pass - [ ] **SET-02**: Användare kan ta bort set från vilken övning som helst under ett pass - [ ] **SET-03**: Tillagda/borttagna set sparas korrekt i databasen ### Workout Modification - [ ] **MOD-01**: Användare kan modifiera ett programpass genom att byta ut övningar - [ ] **MOD-02**: Användare kan lägga till övningar till ett programpass - [ ] **MOD-03**: Modifierat pass sparas som eget pass (forkar, ändrar inte programmet) ## v2 Requirements ### Custom Workouts - **CUS-01**: Användare kan bygga helt eget pass från övningslista - **CUS-02**: Användare kan spara eget pass som återanvändbar mall - **CUS-03**: Egna pass visas i WorkoutSelectPage bredvid programpass ### Enhanced UX - **ENH-01**: Förfyll förra passens vikt/reps som referens - **ENH-02**: Vila-timer med browser-notifikationer ## Out of Scope | Feature | Reason | |---------|--------| | Bygg helt nytt pass från scratch | Skjuts till v2 (CUS-01/02/03) | | Periodisering/programplanering | Scope creep — Gravl är en enkel PPL-tracker | | Sociala funktioner | Inte relevant för personlig träningsloggning | | Video-övningsdemos | Lagring/bandbredd, inte core value | | Gamification (badges, streaks) | Distraherar från snabb loggning | ## Traceability | Requirement | Phase | Status | |-------------|-------|--------| | INP-01 | TBD | Pending | | INP-02 | TBD | Pending | | INP-03 | TBD | Pending | | INP-04 | TBD | Pending | | INP-05 | TBD | Pending | | INP-06 | TBD | Pending | | INP-07 | TBD | Pending | | SET-01 | TBD | Pending | | SET-02 | TBD | Pending | | SET-03 | TBD | Pending | | MOD-01 | TBD | Pending | | MOD-02 | TBD | Pending | | MOD-03 | TBD | Pending | **Coverage:** - v1 requirements: 13 total - Mapped to phases: 0 - Unmapped: 13 --- *Requirements defined: 2026-02-15* *Last updated: 2026-02-15 after initial definition*