mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
Wire the per-med `complianceDisplay.currentCycle` descriptor into a calm, rate-decoupled status line on both the generic and GLP-1 medication cards. A sparse weekly or rolling med (a GLP-1 injection) that is simply between doses has no closed cycle in flight, so the compliance percentage alone reads as a scary 0% that says nothing about whether the user is on schedule. The new `MedicationCycleStatus` card-part reports the open cycle instead: "next dose in N days" / "due today" / "overdue", or a neutral "no closed dose cycles yet" when there is not enough history to score. It complements the percentage rows; it does not replace them. Driven by `currentCycle.state` (on_track / due / missed / none). Colour follows the existing success / warning / destructive ramp and pairs each tier with a Lucide glyph so colour-blind users can disambiguate (WCAG 1.4.1). The relative day phrasing buckets on the user's calendar day, matching the next/last slot. Strings land in all six locale bundles. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>