mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-15 15:02:04 +00:00
feat(cycle): premium cycle ring, BBT chart, and full read-state coverage
Finish the cycle web vertical's signature surfaces: - Rebuild the cycle wheel to the wellness-ring premium signature — a clockwise clock-wipe that draws the phase arcs on from the 12-o'clock day-0 origin, a phase-tinted bloom on the active arc, the shared specular sheen, a day-number count-up, and a soft current-day marker halo. All on the wellness-tile surface, gated once per session and zeroed under prefers-reduced-motion. - Add the basal-body-temperature chart to the predictions tab: the current-cycle BBT series with phase-tinted points, fertility signs in the tooltip, and an estimated-ovulation reference line (suppressed in raw-chart mode). Surface basalBodyTempC + ovulation-test + mucus on the calendar day DTO so the chart reads from the existing calendar load. - Cover the read states the prediction/disclaimer surfaces were missing: pass the disclaimer to the predictions panel, render it on the calendar tab, add per-tab error + retry, and gate the settings spinner. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
4b10bdc5da
commit
31a14ce7bf
18 files changed
+906
-117
No files matched your search
@@ -2303,6 +2303,12 @@ const cycleCalendarDayDto = z.object({
|
||||
flow: flowLevelEnum.nullable(),
|
||||
hasSymptoms: z.boolean(),
|
||||
confidence: z.number(),
|
||||
// v1.15.0 — logged basal-body-temperature + fertility-sign markers, surfaced
|
||||
// so the web BBT chart renders from the calendar read (the values are already
|
||||
// loaded server-side for the symptothermal layer; no extra query).
|
||||
basalBodyTempC: z.number().nullable(),
|
||||
ovulationTest: ovulationTestEnum.nullable(),
|
||||
cervicalMucus: cervicalMucusEnum.nullable(),
|
||||
});
|
||||
|
||||
const cycleProfileDto = z
|
||||
|
||||
Reference in new issue
Block a user