mitai-jinkendo/frontend
Lars b22481d4ce
All checks were successful
Deploy Development / deploy (push) Successful in 49s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 14s
fix: empty string validation + auto-calculate sleep duration
Fixes:
1. Empty string → null conversion for optional integer fields
   - Backend validation error: "Input should be a valid integer"
   - Solution: cleanSleepData() converts '' → null before save
   - Applied to: deep/rem/light/awake minutes, quality, wake_count

2. Auto-calculate duration from bedtime + wake_time
   - useEffect watches bedtime + wake_time changes
   - Calculates minutes including midnight crossover
   - Shows clickable suggestion: "💡 Vorschlag: 7h 30min (übernehmen?)"
   - Applied to NewEntryForm + SleepEntry edit mode

3. Improved plausibility check
   - Now triggers correctly in both create and edit mode
   - Live validation as user types

Test results:
 Simple entry (date + duration) saves without error
 Detail fields (phases) trigger plausibility check
 Bedtime + wake time auto-suggest duration
 Suggestion clickable → updates duration field

Note for future release:
- Unify "Erfassen" dialog design across modules
  (Activity/Nutrition/Weight have different styles/tabs)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 13:53:13 +01:00
..
public feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
src fix: empty string validation + auto-calculate sleep duration 2026-03-22 13:53:13 +01:00
Dockerfile feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
index.html feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
nginx.conf feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
package-lock.json feat: implement v9c feature enforcement system 2026-03-20 12:43:41 +01:00
package.json feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00
vite.config.js feat: initial commit – Mitai Jinkendo v9a 2026-03-16 13:35:11 +01:00