f5e0f581af
- 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>
83 lines
4.1 KiB
Markdown
83 lines
4.1 KiB
Markdown
# 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. P25–P50) 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
|