Commit Graph
17 Commits
Author SHA1 Message Date
AI-Agent 1759da8437 DESIGN.md: Design-Sprache normiert (Tokens, Komponenten, Zustaende, Anti-Patterns)
Image bauen und in die Registry schieben / build (push) Successful in 16s
- Philosophie (Nutzbarkeit vor Stil), Leitprinzipien, vollstaendige
  Farb-/Theme-/Akzent-Tokens mit Werten, Typografie, Form & Abstand
- Komponenten-Regeln (Buttons, Field-Box, Set-Zeile, Karten, Tabellen,
  Modals/Wizard, Toasts), Zustands-Matrix, i18n, A11y & Responsive
- Verbotene Anti-Patterns + Abschluss-Checkliste; README verlinkt darauf
2026-10-04 17:06:39 +00:00
AI-Agent 3806dbc717 Eingabefelder normale Breite + Uebungs-Infos herstellerneutral
Image bauen und in die Registry schieben / build (push) Successful in 6s
- Satz-Zeile: kg/reps-Felder mit fester, normaler Breite (84px) statt
  jeweils halber Zeile; nur Check/Buttons passen sich an (Grid
  auto auto auto auto auto)
- config.json: Technogym-Referenzen (Selection 900/700 etc.) aus allen
  Uebungs-Infotexten entfernt - generische Maschinenbeschreibungen
  (Chest-Press-, Latzug-, Beinpresse-Maschine ...)
- demo-data.json neu generiert (Config-Snapshot synchron)
- Tests: 169 Checks gruen (39+18+52+32+28)
2026-10-02 20:41:18 +00:00
AI-Agent f93d88abd3 Fix: Reset-SVG per appendChild, Satz-Zeile als kompaktes 5-Spalten-Grid
Image bauen und in die Registry schieben / build (push) Successful in 6s
- Reset-Icon korrekt eingefuegt (war '[object HTMLSpanElement]' weil das
  SVG-Element als Text-Argument an el() ging)
- Satz-Zeile: display:grid mit auto 1fr 1fr auto auto, kg/reps-Inputs
  flexibel (1fr, min-width 0), Buttons als kleine Icons (26px) - passt
  komplett auf ein Handy-Display ohne horizontales Scrollen
- Label zurueck auf 'Set n' (klarer als 'S1')
- Tests: 169 Checks gruen (39+18+52+32+28)
2026-10-02 20:33:03 +00:00
AI-Agent 6d57200032 Wizard-Texte, Admin-Onboarding ueberspringen, kompakte Set-Zeile mobil
Image bauen und in die Registry schieben / build (push) Successful in 6s
- Wizard: Sprach-Hinweis gekuerzt, Repo-Link nur beim Erst-Setup (nicht
  im Onboarding), Hinweis 'erster Benutzer wird Administrator'
- Erster Benutzer (Admin) ist automatisch onboarded und erbt die
  festgelegten Sprache/Design-Einstellungen (kein erneuter Wizard);
  Einstellungen werden nach Admin-Anlage sofort frisch gerendert
- Set-Zeile mobil-tauglich: nowrap, width 100%, kg/reps-Inputs flexibel
  (flex 1, min-width 0), Einheit kompakt im Feld, 'S1' statt 'Set 1',
  Reset als SVG-Icon, kleinere Buttons - kein horizontales Scrollen
- Tests: 169 Checks gruen (39+18+52+32+28)
2026-10-02 20:26:09 +00:00
AI-Agent 135425c781 Wizard: User erst beim Abschliessen, Reihenfolge Sprache/Design/Modus, Reset im Einzelmodus
Image bauen und in die Registry schieben / build (push) Successful in 6s
- Benutzer wird erst beim 'Einrichtung abschliessen' angelegt (POST
  /api/register im wizardFinish); bis dahin frei umentscheidbar, im Modus-
  Schritt Hinweis + Live-Validierung (Finish deaktiviert bis ausgefuellt)
- Reihenfolge: Sprache -> Darstellung (Theme/OLED/Akzent) -> Modus
  (Einzel/Mehrbenutzer); Onboarding bleibt Sprache -> Darstellung
- Sprach-Schritt: Repo-Link + Kurztext zum Starten (nutzt den Raum)
- Wizard-Modal: min-height statt fixer Hoehe -> Modus-Schritt mit Formular
  wird nicht mehr abgeschnitten
- Server-Reset auch im Einzelmodus moeglich (nur Bestaetigungstext,
  kein Passwort noetig); Reset-Sektion erscheint dann entsprechend
- Tests: 167 Checks gruen (39+18+52+32+26)
2026-10-02 19:57:59 +00:00
AI-Agent 655316278a Wizard-Hoehe fix, Logout in Konto, Server-Reset, responsive Tabs, Set-Zeilen, Brand-Date
Image bauen und in die Registry schieben / build (push) Successful in 7s
- Wizard: feste Hoehe (600px, intern scrollbar), Schritt-Inhalt zentriert
  (.wizard-body) -> Schritte gleich gross, auch beim User anlegen
- Benutzer-Anlage: Bestaetigung 'Benutzer x angelegt.' (ohne 'Weiter mit'),
  Solo-Option nach User-Anlage deaktiviert (kein irrefuehrendes Umschalten)
- User-Chip + Abmelden aus der Topbar entfernt, 'Abmelden' in Konto-Sektion
- Topbar-Datum: 'Fr 02.10.2026' + aktive Session ('Push aktiv') statt
  redundantem 'Today'
- Tabs: flex-wrap statt Scrollen, auf Mobil volle Breite + kompakter
- Server-Reset (Owner): Passwort + 'RESET'-Eingabe, loescht alle Daten
- Benutzerliste: Querbalken vor dem Anlegen-Formular
- Tests: 163 Checks gruen (39+18+49+32+25)
2026-10-02 19:42:46 +00:00
AI-Agent 0ebaa8b132 UI-Fixes: Wizard konsistent, Tabs uebersetzt/responsive, Set-Zeilen, leere Sets
Image bauen und in die Registry schieben / build (push) Successful in 8s
- Setup-Wizard: feste Mindesthoehe (#setup-gate), Navigation unten
  verankert -> Hoehe springt nicht mehr zwischen den Schritten
- Wizard Benutzer-Anlage: nach Erfolg Bestaetigung statt leerem Formular
  (kein erneutes Eingeben), 'Weiter' aktiv
- Tabs: Labels werden uebersetzt (t()-i18n), Topbar/Tabs horizontal
  scrollbar + kompakter auf Mobil -> 'Einstellungen' wird nicht mehr
  abgeschnitten
- Button-Min-Breite (.btn 96px, .btn-small 64px) fuer Sprach-Konsistenz
- Fortschrittssegmente: bei weissem Akzent auf hellem Theme schwarz
  (statt unsichtbar weiss)
- Set-Zeile: eine horizontale Reihe (nowrap) mit einheitlicher
  Eingabe-Mindestbreite/-hoehe; Grid-Spalten auf 460px angepasst
- Leere Saetze (ohne Gewicht UND Reps) werden nicht mehr persistiert und
  im Verlauf ausgeblendet (kein 'empty kg x empty reps'-Wand)
- Tests: 158 Checks gruen (39+18+43+32+26)
2026-10-02 19:16:52 +00:00
AI-Agent e91cd30479 Realistische Demo-Daten (12 Wochen, 49 Sessions) + Roadmap + README-Verweis
Image bauen und in die Registry schieben / build (push) Successful in 8s
- demo-data.json neu generiert: 12 Wochen Push/Pull/Legs mit Plateau-
  Phasen, Deload-Woche, ausgelassenen Trainingstagen, Reps-Streuung,
  nicht abgehakten Saetzen und Notizen; dazu 12 Laeufe und 5 Fahrten
- ROADMAP.md: interne Roadmap in 4 Phasen (Inhalt in der App bearbeiten,
  herstellerunabhaengige Info-Texte mit Bildern/Schritten, Plugin-System
  mit Ollama/Cloud-Coach, Wearable-Import, CLI-Harness, Volumen/1RM,
  PWA, a11y)
- README: Roadmap-Sektion
- test_auth: erwartete Demo-Zaehler dynamisch aus der Datei berechnet
- Tests: 158 Checks gruen (39+18+43+32+26)
2026-10-02 02:29:17 +00:00
AI-Agent 25ed34e80e CI: Build+Push in einem Schritt ohne Step-Output (kompatibel mit Gitea act)
Image bauen und in die Registry schieben / build (push) Successful in 6s
2026-10-02 01:54:19 +00:00
AI-Agent 53c29ae9dc CI: Build-Schritt nutzt ein -t pro Image-Tag
Image bauen und in die Registry schieben / build (push) Failing after 6s
2026-10-02 01:51:46 +00:00
AI-Agent 10f3e713c5 CI: Version-Tags bei Git-Tags (v*) - zusaetzlich zu latest+sha
Image bauen und in die Registry schieben / build (push) Failing after 4s
- Push auf main -> git.somantis.net/j4stmarkus/trainingsplan:latest + :<sha>
- Push eines Git-Tags v* -> zusaetzlich :vX.Y.Z (z.B. :v1.0.0)
- Nutzer ziehen :latest (rolling) oder eine feste Version per Tag
2026-10-02 01:49:27 +00:00
AI-Agent 1984ce700c README: CI/CD-Sektion (Auto-Build ueber Gitea-Actions)
Image bauen und in die Registry schieben / build (push) Failing after 19s
2026-10-02 00:59:33 +00:00
AI-Agent 817d4a3732 CI/CD: Gitea-Actions-Build nach Registry + CasaOS-Compose + Icon
Image bauen und in die Registry schieben / build (push) Failing after 39s
- .gitea/workflows/build-image.yml: Push auf main baut das Image und
  schiebt latest + <sha> in die Gitea-Registry (j4stmarkus, lowercase)
- Workflow ist robust gegen Runner-Images ohne Docker-CLI (installiert
  docker.io falls noetig); der Runner muss den Docker-Socket mounten
- docker-compose.casaos.yml: CasaOS-Custom-App-Format, installiert nur aus
  dem Registry-Image, Datenband bleibt /DATA/AppData/trainingsplan/data
- assets/icon.png: echtes Somantis-Logo (aus Somantis/www), 512x512 PNG
- docker-compose.yml mit build: . bleibt fuer lokale Entwicklung bestehen
2026-10-02 00:19:54 +00:00
AI-Agent ba599fcbf5 UI-Ueberarbeitung: responsives Grid, konsistente Buttons, Wizard-Breite, Kontrast
- Uebungen in responsivem Grid (2-3 Spalten auf Desktop, 1 Spalte mobil)
- Setup-Modal feste Breite 640px (capped am Viewport) - kein Sprung beim
  Sprachwechsel
- Button-Konsistenz: .btn-primary nutzt --accent-border (weisser Akzent
  bekommt sichtbare graue Umrandung, auch auf hellem Theme); Secondary =
  transparent/dunkelgrau
- Fortschrittssegmente: groesser (40x6, gap 8); Semantik wie gewuenscht -
  erledigt = voll gefuellt, aktuell = nur Umrandung, kommend = graue
  Umrandung
- Session-Kopf: 'Alles zuruecksetzen' + 'Session abschliessen' gebuendelt,
  'Verwerfen' abgesetzt und bestaetigungsgeschuetzt
- Wizard: Appearance-Untertitel korrigiert (nicht mehr 'default accent'),
  Sprach-Buttons mit mehr Abstand
- Settings: Formular-Zeilen ausgerichtet (Inputs gestreckt, Button rechts),
  muted heller (bessere Lesbarkeit), Checkbox groesser
- Tests: 158 Checks gruen (39+18+43+32+26)
2026-10-02 00:17:00 +00:00
AI-Agent a2c4fdc1bd deploy.sh: stale Container entfernen, Healthcheck auf /api/meta
- docker rm -f trainingsplan vor docker compose up -d behebt den
  Namenskonflikt mit einem alten Container (Daten-Ordner bleibt erhalten)
- Healthcheck prueft /api/meta statt des nicht existierenden /api/data
2026-10-01 23:58:34 +00:00
AI-Agent adfa7d17e9 deploy.sh: kein Token mehr noetig, Repo ist oeffentlich
Zugangsschluessel-Block entfernt, Remote zeigt auf den neuen Eigentuemer.
2026-10-02 01:41:51 +02:00
AI-Agent 8fc77212cb Startpunkt 02.10.2026: aktueller Stand des Trainingsplans
Historie bewusst neu aufgesetzt, ein einziger Commit als neuer Ausgangspunkt.
2026-10-02 01:23:25 +02:00