Files
Grow/IMPROVEMENTS.md
arnaudne f5e0f581af feat: doctor visit log, schedule prediction, chart PDF, natural digest
- Doctor notes: add doctorName, reason, prescriptions, nextAppointmentAt fields (schema + API + UI)
- Dashboard: baby schedule prediction widget (avg nap/bedtime/first-feed over 14 days)
- Growth PDF: embed weight chart as image (SVG→Canvas capture) before data table
- Weekly digest: natural language push notification instead of bullet stats

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-15 22:46:22 +02:00

83 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Improvements & Known Issues
## Critical Bugs
- [x] **Photos 404 in Docker** — serve via `/api/photos/[filename]` from `UPLOAD_DIR=/data/uploads`
- [x] **WHO curves invisible when baby has measurements**`connectNulls` on percentile Lines
- [x] **Symptom icon missing**`Activity` not in event-icon map
- [x] **Default duration missing** — events saved without timer now get per-type default duration
## UI/UX Improvements
### Dashboard
- [x] **Empty state for new users** — onboarding callout when no events today
- [x] **Active timers show which baby** — baby name badge below event label
- [x] **Medication overdue** — 3 states: "Dans Xh" (orange), "Disponible" (green), "En retard de Xh" (amber)
- [x] **Feeding pattern analysis widget** — avg interval + last feed + next expected (in progress)
### Growth
- [x] **Single-measurement chart** — shows point + WHO curves (was blank until 2+ points)
- [x] **"PC" label** — expanded to "PC — Périmètre crânien (cm)"
- [x] **WHO percentile ⓘ tooltip** — explains P50/P3-P97
- [x] **Date field defaults to today** in add-measurement form
- [x] **PDF export percentile rank** — WHO band (e.g. P25P50) shown next to weight
### Stats
- [x] **Heatmap legend** — shows actual counts (0 1 2 3 4+)
- [x] **Sleep timeline label** — "Fenêtre 19h 11h"
- [x] **Event limit warning** — banner when 500-event limit hit
- [ ] **Chart zero-data gaps** — distinguish "no data" vs "zero events" visually
### Timeline
- [x] **Filter state sticky** — persisted in URL param `?type=...`
- [x] **Filter chips sticky on mobile**`sticky top-0 z-10` container
- [x] **Loading skeleton** — skeleton cards replace spinner on first render
- [x] **Inline note save feedback** — ✓ flash after blur
- [x] **Photo thumbnail clickable** — opens in new tab
- [x] **Select mode indicator** — toggle shows "Annuler" when active
### Photos
- [x] **Lightbox wraps** — next on last → first, prev on first → last
- [x] **Delete from lightbox** — trash icon PATCHes event metadata to remove photo
### Search
- [x] **Results clickable** — events link to `/timeline?date=...`, notes to `/notes?date=...`
- [x] **Result count header** — "X événements · Y notes"
- [x] **Date/type filter chips** on search results
### Notes
- [x] **Unsaved indicator** — amber dot while dirty, green ✓ after save
- [x] **Date jump input** — invisible date input overlaid on label, opens native calendar
- [x] **Empty blur fix** — skip save on empty/whitespace content
### Milestones
- [x] **Sort by date** within month group
### Settings
- [x] **Pushover key eye toggle** — show/hide pasted key
- [x] **API key delete confirmation** — shows key name in confirm dialog
- [x] **Sections collapsible** — SectionCard accordion
- [x] **Invite link note** — "Le lien n'expire pas — réinitialisez-le si compromis"
### Event Modal
- [x] **Timer resume indicator** — "Reprise du chronomètre" when loaded from localStorage
- [x] **Milk lot hint** — "Sélectionnez un lot — il sera marqué comme utilisé"
- [x] **Photo size client-side validation** — 5MB guard before upload
### Navigation
- [x] **Baby switcher `aria-label`** — added to nav select
- [x] **Active highlight on child routes** — uses `startsWith` instead of exact match
- [x] **Sidebar grouped** — sections: Suivi / Santé / Vie du bébé / Outils (replaces flat 14-item list)
## Feature Backlog
- [x] **Vaccination tracker** — full UI + API, overdue badges, done/upcoming sections
- [x] **Teeth tracker** — visual grid of 20 baby teeth, tap to mark appeared (in progress)
- [x] **Doctor visit log** — notes, prescriptions, next appointment date
- [x] **Baby schedule prediction** — "usually naps around 14h30" from historical patterns
- [x] **Growth chart in PDF** — embed chart image (jsPDF canvas) not just table
- [x] **Natural language digest** — "Emma feeds every 2h45 on average" weekly push
- [ ] **Wellness check-in** — parent self-reports sleep/mood for postpartum monitoring
- [ ] **Weight gain on-track indicator** — projected line on growth chart
- [ ] **Contraction timer** — repurpose timer infra for pre-birth use