- ui/common/LiftStatusSheet.kt: ModalBottomSheet med vikt, est. 1RM, datum,
pass, anteckning, SegmentedButtons (Träning/Tävling/Räknas ej), kommentar,
Spara och topplista "näst i tur" för samma övning × reps (alla statusar, så
bortplockade lyft kan återställas). Lyft- och set-läge.
- Statistik → Personbästa: chips Alla giltiga · Tävling · Träning, ett
AssistChip per rekord (🎖️ på tävling) som öppnar arket.
- Passhistorik: tryck på ett set öppnar arket i set-läge; statusmärke visas.
- GymRepository: personalBestsDetailed(mode), pbCandidates, liftDetail,
setLiftStatus, setSessionSetStatus; PB-cachen uppdateras efter ändring.
HistorySet/SessionDetailExercise bär id, notes, status, exerciseTypeId.
Kräver gym-api med migration 20260906090000_AddLiftStatus.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AFvSx1pF9pymyEuK7MFkEG
- Statistikfliken: Kondition & aktiviteter-kort för vald period — KPI
(antal/distans/tid/kcal), km per vecka-staplar och per typ-lista
- README: aktiviteter/kcal-mätare/mål-avsnitt
- Version 0.11.0 — hela aktivitetsplanen (etapp 1–6) därmed kodkomplett
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01C2GA94E1f3cmrvdQLQhYdg
- Kotlin + Jetpack Compose + Material 3, minSdk 31 (Android 12)
- GraphQL-klient (OkHttp) med login/refresh/validate/logout som webben
- Tokenlagring i DataStore, auto-refresh av JWT
- Signering via gitignorerad signing/ lokalt och Actions-secrets i CI
- VS Code build-task -> build/FitnessDroid.apk
- Gitea Actions: bygger APK på Pi5 (arm64, aapt2-override) och publicerar
rullande latest-release
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Kf4MAbZ3c3B4Xy5XfuGsCP