diff --git a/doc/design-forslag-m2.html b/doc/design-forslag-m2.html new file mode 100644 index 0000000..d6c4c6a --- /dev/null +++ b/doc/design-forslag-m2.html @@ -0,0 +1,645 @@ +
Nytt tänk: appen byggs runt själva gympasset, inte runt flikar. + Mellan seten har du svettiga händer och 90 sekunder — allt i passläget är därför + stora tryckytor, förifyllda värden och en vilotimer som sköter sig själv, även på + låsskärmen. Runt det: en hemskärm som startar pass på ett tryck, och Android-ytor + som webben aldrig kan nå.
+Hela skärmen ägnas åt övningen du står vid. Svep i sidled mellan + övningarna i passet. Värdena är alltid förifyllda från förra passet plus + progressionsregeln — stämmer allt trycker du bara på gröna knappen.
+ +Ett tryck per set. Vikt och + reps förifylls från förra passet + progressionsregeln (API:t har redan + lastExercisePerformance). Stämmer det: tryck ✓. Annars ±-knappar — + aldrig tangentbord för standardfallet.
Vilan sköter sig själv. Loggat + set → timern startar, skärmen växlar till ringen, telefonen vibrerar när det + är dags. Längden hämtas per övning (litet API-tillägg, se sist).
Svep = nästa övning. Ingen + lista att scrolla i mitt i passet. Prickraden överst visar var i passet du är; + långtryck öppnar överblicken där du kan ändra ordning eller lägga till övningar.
PB firas direkt — slår du + ett personbästa på ett set får du konfetti och en 🏆-notis i samma sekund, + inte när passet är slut.
Bänkpress 80,0 kg × 8 · Push A 26:04
+Lämna passläget utan att tappa + passet. Kollar du statistik mitt i passet ligger minispelaren kvar ovanför + navigeringen. Notisen med timer-åtgärder gör att telefonen kan ligga kvar i + fickan mellan seten — det här är appens största övertag över webben.
Öppnar du appen med ett pass igång åker du rakt in i passläget. + Annars: starta på ett eller två tryck.
+ +Fritt pass = ett tryck. + Passet skapas direkt och övningsväljaren öppnas. Namn kan sättas efteråt — + inga formulär mellan dig och första setet.
Favoritpass = två tryck. + API:ts favoritpass + mallar, med auto-progressionen förifylld.
Veckans muskler — en liten + kroppskarta som teaser för statistiken, och en knuff om vad som är underjobbat. + Trycker du på kortet öppnas hela kartan (sektion 5).
Pågår ett pass öppnas appen + direkt i passläget — hemskärmen visas bara när inget är igång. Därför + behövs inget "fortsätt"-kort: appen minns åt dig.
Muskelgrupper som chips med ikoner; vald grupp fäller ut sina + muskler som en andra rad. Brickorna (KG/REPS/TID/M) kommer från övningens + tracks-flaggor och styr sedan set-loggningens fält.
+ +Favoriter alltid överst + (API:ts favoritövningar), med senaste vikten som förhandsinfo så du slipper + minnas var du låg.
Ikoner istället för foton: + API:t saknar övningsbilder, så appen buntar vektorikoner per muskelgrupp — + offline, blixtsnabba, temafärgade. Vill du hellre ha en kroppskarta där + vald muskel tänds som filter är det samma dataunderlag — säg till vilken + du föredrar (kartan finns i sektion 5).
Ny övning på plats: hittas + inte övningen visas "Skapa övningen ‹sökordet›" längst ned — grunddatan + behöver aldrig besökas mitt i ett pass.
Det webben aldrig kan: starta och styra pass utan att ens öppna appen.
+Statistikens signaturvy: en stiliserad figur där varje muskelgrupp + färgas efter träningsvolymen i perioden (datat finns redan i API:ts workoutStats). + Samma karta kan återanvändas som muskelväljare i övningsfiltret om du hellre vill + det än chips.
+ +Färgskalan är volym i perioden + — här syns direkt att bröst/underarmar fått mest och att ben & mage släpar. + Tryck på en muskel → övningarna och seten bakom siffran.
Figuren är + medvetet stiliserad (byggd av former, inte anatomisk) — den blir tydlig i litet + format, temafärgas och kräver inga bildlicenser. Vill du ha en mer anatomisk + siluett går det, men liten och skarp slår detaljerad och grötig på en telefon.
Med passläge + minispelare behövs färre flikar än webben har: + Hem · Historik · Statistik · Profil med startknappen i mitten (förslag B + från förra rundan). PB och kroppskartan bor i Statistik, grunddata och + skivinställningar under Profil. Fritt pass, favoriter, widget och appgenvägar + gör att flikarna nästan aldrig behövs på väg in i ett pass — de är för + uppföljningen.
+ +Inget av detta blockerar bygget — appen kan falla tillbaka på + vettiga defaultvärden tills de finns.
+| Tillägg | Vad det ger | Storlek |
|---|---|---|
| MuscleGroup.iconKey | +Servern pekar ut vilken ikon en muskelgrupp har istället för att appen + gissar på namnsträngar ("Bröst" vs "Chest"). En kolumn + fält i GraphQL. | +LITEN |
| ExerciseType.defaultRestSeconds | +Auto-vilotimern vet hur länge just den övningen vilar (90 s bänk, 180 s + marklyft). Fallback i appen: 90 s. Kolumn + fält + med i mallexport. | +LITEN |
| Lift/Set: clientId (UUID) | +Offline-läge på gymmet: appen kan köa set lokalt och synka i efterhand utan + dubbletter när samma mutation skickas om. Unik kolumn + upsert-logik. | +MEDEL · roadmap |
| ExerciseType.imageUrl | +Frivillig påbyggnad om du senare vill ha riktiga foton/anatomibilder per + övning — appen visar dem när de finns, ikoner annars. | +LITEN · valfri |