Files
Grow/IMPROVEMENTS.md
T

82 lines
3.8 KiB
Markdown
Raw 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
### 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"
- [ ] **Chart zero-data gaps** — distinguish "no data" vs "zero events" visually
### Timeline
- [x] **Filter state sticky** — persisted in URL param `?type=...`
- [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"
- [ ] **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
### 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
- [ ] **Unsaved state warning** — prompt before leaving dirty notes page
## Remaining
- [ ] **Search date/type filter chips** — filter search results by date range or event type
- [ ] **Stats chart zero-data gaps** — distinguish "no data" vs "zero events" visually
- [ ] **Notes unsaved state nav warning** — prompt before leaving dirty notes page
## Feature Backlog
- [ ] **Vaccination tracker** — dates, vaccine name, lot, next-due reminder + push alert
- [ ] **Doctor visit log** — notes, prescriptions, next appointment date
- [ ] **Teeth tracker** — visual mouth diagram, mark appearance date
- [ ] **Baby schedule prediction** — "usually naps around 14h30" from historical patterns
- [ ] **Growth chart in PDF** — embed chart image (jsPDF canvas) not just table
- [ ] **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