mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
Derive `INSIGHTS_TILE_IDS` from `SUB_PAGE_SLUGS` rather than maintaining a separate 14-id list. The layout tile-id universe and the routed tab strip now share one source of truth, so a client can persist a layout covering every metric page the web exposes (37 slugs + the overview mother page) instead of tripping a 422 on the ~25 slugs the fixed allow-list did not know about. Rebuild `DEFAULT_INSIGHTS_LAYOUT` from the derived id list with an explicit default-visible set; the long-tail HealthKit, body-composition, mobility, and audio tiles stay default-invisible. The accepted set stays closed — an unknown id still 422s — and the legacy German aliases keep round-tripping, so no persisted layout breaks. Regenerate the OpenAPI contract and extend the route deck: a PUT carrying the previously-rejected slugs now succeeds, a full-universe PUT round-trips through GET, and a genuinely-unknown id still 422s. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> (cherry picked from commit 0a161d430533845b0c4c322047701b93aea49a06)
228 KiB
228 KiB