mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-12 22:26:13 +00:00
The trends-row annotation slot painted "Mehr Daten nötig, um diesen
Trend zu kommentieren" whenever the advisor query was in flight or a
regenerate was firing — even when the model was about to deliver
fresh prose. Two cold-mount conditions collapsed into the same empty
hint: advisor pending, and advisor returned null.
`<TrendAnnotation>` now reads a tri-state `status` prop:
- `pending` — advisor query in flight / regenerate firing.
Renders a 3-line shimmer block.
- `needs_data` — advisor returned `annotation = null`. Renders the
"Mehr Daten nötig" hint.
- `generated` — advisor returned a string. Renders the prose +
optional confidence chip.
When `status` is omitted the legacy `annotation == null → empty`
mapping still applies (back-compat for existing callers).
`<TrendsRow>` derives the status from a new `loading` prop and the
per-metric annotation presence, with pending winning over needs_data
so a mid-regenerate cycle never flashes the empty hint between
shimmer and new prose. The Insights mother page now passes
`loading={advisor.isLoading || advisor.isRegenerating}`.
Added unit tests pin the three render-state branches plus the
back-compat fallback. New `trendAnnotation.pendingLabel` i18n key
across DE / EN / FR / ES / IT / PL drives the aria-label on the
pending block. Health Score paint lag is a parent-level analytics
query issue and stays for v1.4.37.