Commit Graph
9 Commits
Author SHA1 Message Date
Fidelis HuberandClaude Sonnet 5 ddfcbdfbc3 Remove temporary test-build-only workflow (build verified successfully)
Build and Deploy / version (push) Successful in 1s
Build and Deploy / build (push) Successful in 3s
Build and Deploy / deploy (push) Successful in 1s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 19:43:40 +02:00
Fidelis HuberandClaude Sonnet 5 cda971be5d Persist login across app restarts (localStorage instead of sessionStorage)
Build and Deploy / version (push) Successful in 2s
Build and Deploy / build (push) Successful in 14s
Build and Deploy / deploy (push) Successful in 2s
sessionStorage wird geleert, sobald die (installierte) PWA am Handy
geschlossen wird - deshalb war nach jedem Neustart ein erneuter Login nötig.
Sowohl MSAL-Cache als auch das lokale Login-Token liegen jetzt in
localStorage, MSAL erneuert den Token beim Start still im Hintergrund
(acquireTokenSilent), das lokale Token ist 30 Tage gültig.

Temporärer test-build-only.yml Workflow zur Verifikation ohne Registry-Push.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 19:42:55 +02:00
Fidelis HuberandClaude Sonnet 5 5f6095c9c9 Remove temporary test-build-only workflow (build verified successfully)
Build and Deploy / version (push) Successful in 1s
Build and Deploy / build (push) Successful in 2s
Build and Deploy / deploy (push) Successful in 2s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 19:38:55 +02:00
Fidelis HuberandClaude Sonnet 5 a910d1e399 Replace horizontal-scroll table with a stacked card layout on mobile
Build and Deploy / version (push) Successful in 2s
Build and Deploy / build (push) Successful in 11s
Build and Deploy / deploy (push) Successful in 2s
Materialliste war auf schmalen Screens nur per Seitwärts-Scrollen lesbar.
Ab 680px Breite wird jede Zeile jetzt als Karte dargestellt (CSS Grid mit
benannten Areas, Bezeichnung prominent oben, Menge/Einheit/Art.-Nr./Notiz
darunter beschriftet, Position + Löschen-Button in der Kopfzeile der Karte).
Die Grid-Areas ordnen die Felder unabhängig von der DOM-Reihenfolge um, die
Desktop-Tabelle bleibt unverändert in der ursprünglichen Spaltenreihenfolge.

Temporärer test-build-only.yml Workflow zur Verifikation ohne Registry-Push.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 19:38:07 +02:00
Fidelis HuberandClaude Sonnet 5 d8a8a94332 Remove temporary test-build-only workflow (real build verified successfully)
Build and Deploy / version (push) Successful in 1s
Build and Deploy / build (push) Successful in 2s
Build and Deploy / deploy (push) Successful in 2s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 17:57:48 +02:00
Fidelis HuberandClaude Sonnet 5 97c4aa1c68 Add local username/password login as fallback when Microsoft login isn't available
Build and Deploy / version (push) Successful in 1s
Build and Deploy / build (push) Successful in 21s
Build and Deploy / deploy (push) Successful in 1s
Neues "users"-Table (bcrypt-Hash, nie Klartext), POST /api/auth/login gibt ein
selbst-signiertes JWT (HS256) aus. requireAuth unterscheidet MSAL- (RS256) und
lokale Tokens (HS256) anhand des alg-Headers. Server legt beim Start optional
ein erstes lokales Konto an, wenn SEED_ADMIN_USERNAME/SEED_ADMIN_PASSWORD als
Stack-Env gesetzt sind (idempotent, Klartext-Passwort landet nie im Repo).

Frontend: Login-Screen hat jetzt einen Alternativ-Link zu Benutzername/Passwort,
App.tsx kombiniert MSAL- und lokalen Auth-Status.

Temporärer test-build-only.yml Workflow zur Docker-Build-Verifikation ohne
Registry-Push (wird nach dem Test wieder entfernt).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 17:56:40 +02:00
Fidelis HuberandClaude Sonnet 5 b6e4c2041f Remove temporary test-build-only workflow (build verified successfully)
Build and Deploy / version (push) Successful in 1s
Build and Deploy / build (push) Successful in 3s
Build and Deploy / deploy (push) Failing after 2s
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 17:30:46 +02:00
Fidelis HuberandClaude Sonnet 5 5f008bb373 Add temporary test-build-only workflow (no registry push) to verify Docker build
Build and Deploy / version (push) Successful in 2s
Build and Deploy / build (push) Failing after 1s
Build and Deploy / deploy (push) Skipped
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 17:25:56 +02:00
Fidelis HuberandClaude Sonnet 5 13cef3c96d Initial scaffold: React/Vite/TS PWA + Express/Prisma/Postgres backend
Build and Deploy / version (push) Successful in 1s
Build and Deploy / build (push) Failing after 1s
Build and Deploy / deploy (push) Skipped
Materialschein & Kabelrechner für BergVOLT Elektrotechnik, portiert von der
vorherigen Single-File-HTML-Version. Microsoft-Entra-ID-Login (MSAL), Projekt-
Dashboard statt einer Datei pro Kunde, Retour-Buchen-Zusammenführung, 111
Kabeltypen aus den offiziellen Meinhart-Datenblättern. gitops/ nach
PROX/deploy-standard: git-backed Portainer-Stack, versionierte Docker-Images,
CI-Commit-back auf gitops/stack.yml.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 17:24:38 +02:00