my_voice_assistant_v3_jamulix/app/web
dschlueter 57002dc022 feat(admin): ein Speichern-Button auf Einstellungs-Ebene mit Format-Validierung
- Speichern-Button aus dem einklappbaren „Notfall-Profil" auf die Karten-/
  Einstellungs-Ebene verschoben (immer sichtbar) und in „Speichern" umbenannt.
- Speichert jetzt ALLE Daten: alle Profilfelder + Standort-Freigabe + erlaubte
  Sprachen in einem PUT.
- Vor JEDEM Speichern Format-Validierung pro Feld; bei Verstoß rotes Feld
  (border/ring-red) + Meckertext, Speichern wird abgebrochen. Rote Markierung
  verschwindet beim Nachbessern (input-Listener).
- Regeln: PLZ = 5 Ziffern · Telefon = +/Ziffern/Leer/()/- (6–20) · Geburtsdatum
  = TT.MM.JJJJ (echtes Datum) · Kontakt-E-Mails/-Telefone = CSV gültiger Werte.
  Leere optionale Felder gelten als konform. Validierungslogik in node geprüft.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 18:03:13 +02:00
..
app.js feat(admin): ein Speichern-Button auf Einstellungs-Ebene mit Format-Validierung 2026-06-25 18:03:13 +02:00
apple-touch-icon.png feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
favicon-32.png feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
favicon.svg feat: Geräte-TTS, native Stimmen, Favicon, Auth-Gate, UI-Fixes 2026-06-20 13:12:04 +02:00
index.html feat(3c): OpenRouter-Modelle live & selbst-aktualisierend statt erfunden 2026-06-25 05:01:05 +02:00