Marc-André Bombeck
41ed8eb6a3
feat(insights): mood calendar and chart arrive together; add via the header plus
...
On /insights/mood the line chart used to paint first and the calendar,
whose aggregate is the slower read, pushed it down when it landed
(CLS 0.16 at 390 px on a cold load). The page now holds both on
final-height skeletons until the chart's read has settled and the
calendar's has landed, then shows them in the same frame. The calendar's
height is written in container-query units, so its box is the right size
from the first paint, in the skeleton and the painted grid alike. A
server wrapper prefetches both reads in parallel (time-boxed, skipped
under a record switch, off when SSR prefetch is off), so on a warm cache
they are in the first HTML. The route and the prefetch share
`moodInsightsWire`, so the seeded cell is the route's shape.
The "Log a mood entry" and "Take a mental-wellbeing check-in" text links
under the heading are gone. Logging is the header plus, which opens the
mood form in place; the check-in keeps its own place in the navigation.
The plus is one shared component, `SubPageAddButton`, now also behind
the measurement pages' capture link and the workouts page, which drew
its own. An audit of every Insights page found no other text add-button
of this kind; the remaining buttons are empty-state calls to action.
A sweep keeps it that way.
`e2e/v142-qol.spec.ts` covers all three surfaces of this change set.
2026-10-08 16:45:49 +02:00
..
2026-10-03 18:21:19 +02:00
2026-10-01 13:23:17 +02:00
2026-10-08 10:32:11 +02:00
2026-10-08 11:18:14 +02:00
2026-08-08 01:05:31 +02:00
2026-10-02 23:03:45 +02:00
2026-09-24 11:05:59 +02:00
2026-09-26 20:27:53 +02:00
2026-10-03 20:51:57 +02:00
2026-07-26 22:27:48 +02:00
2026-09-24 12:11:14 +02:00
2026-10-06 19:57:04 +02:00
2026-10-06 19:26:30 +02:00
2026-08-14 02:34:40 +02:00
2026-09-26 16:31:03 +02:00
2026-09-10 00:37:22 +02:00
2026-10-06 20:29:56 +02:00
2026-10-06 20:14:11 +02:00
2026-09-09 22:39:39 +02:00
2026-10-03 20:45:02 +02:00
2026-09-25 07:39:06 +02:00
2026-10-04 18:23:14 +02:00
2026-09-30 22:21:46 +02:00
2026-10-04 10:37:23 +02:00
2026-09-05 16:22:39 +02:00
2026-10-06 21:24:24 +02:00
2026-10-06 18:39:50 +02:00
2026-10-04 20:00:07 +02:00
2026-10-01 10:52:48 +02:00
2026-10-06 19:32:32 +02:00
2026-09-03 05:09:00 +02:00
2026-09-27 13:11:52 +02:00
2026-09-26 15:26:03 +02:00
2026-09-24 12:20:14 +02:00
2026-09-09 19:42:27 +02:00
2026-08-01 10:45:24 +02:00
2026-08-02 16:21:19 +02:00
2026-08-13 18:48:10 +02:00
2026-09-03 01:47:52 +02:00
2026-09-09 23:03:38 +02:00
2026-08-14 09:56:45 +02:00
2026-09-16 13:05:14 +02:00
2026-10-08 14:27:02 +02:00
2026-10-08 09:54:42 +02:00
2026-09-03 01:42:16 +02:00
2026-10-08 09:06:09 +02:00
2026-08-24 02:00:55 +02:00
2026-10-08 14:27:02 +02:00
2026-10-03 21:14:08 +02:00
2026-10-01 09:17:44 +02:00
2026-09-25 08:11:42 +02:00
2026-09-26 13:13:51 +02:00
2026-09-10 11:16:55 +02:00
2026-08-26 20:00:44 +09:00
2026-09-27 04:48:08 +02:00
2026-09-15 14:39:09 +02:00
2026-08-02 16:21:19 +02:00
2026-08-02 16:49:47 +02:00
2026-09-26 10:01:27 +02:00
2026-09-26 17:08:47 +02:00
2026-10-08 10:02:39 +02:00
2026-09-10 08:31:44 +02:00
2026-10-08 11:25:11 +02:00
2026-08-02 16:21:19 +02:00
2026-09-26 19:54:38 +02:00
2026-09-24 10:52:04 +02:00
2026-09-03 05:49:18 +02:00
2026-10-08 09:54:42 +02:00
2026-08-06 05:44:41 +02:00
2026-08-06 05:23:38 +02:00
2026-08-30 14:16:33 +02:00
2026-08-02 16:21:19 +02:00
2026-08-02 16:21:19 +02:00
2026-10-08 07:56:59 +02:00
2026-07-25 16:23:58 +02:00
2026-10-08 14:29:25 +02:00
2026-09-10 05:25:30 +02:00
2026-08-26 16:42:45 +09:00
2026-08-04 14:55:32 +02:00
2026-09-01 21:00:12 +02:00
2026-07-28 21:05:42 +02:00
2026-09-11 12:38:31 +02:00
2026-08-02 16:21:19 +02:00
2026-09-02 10:44:04 +02:00
2026-10-01 09:24:15 +02:00
2026-10-08 09:05:54 +02:00
2026-10-03 23:32:07 +02:00
2026-09-10 07:26:32 +02:00
2026-08-26 16:42:45 +09:00
2026-08-07 05:43:06 +02:00
2026-09-13 14:49:56 +02:00
2026-07-28 21:11:43 +02:00
2026-10-01 10:52:48 +02:00
2026-09-02 12:08:38 +02:00
2026-10-08 09:54:42 +02:00
2026-10-08 09:54:42 +02:00
2026-09-25 10:03:08 +02:00
2026-08-02 16:21:19 +02:00
2026-10-06 19:32:31 +02:00
2026-08-02 16:21:19 +02:00
2026-09-10 12:14:14 +02:00
2026-08-08 07:14:04 +02:00
2026-08-08 15:30:38 +02:00
2026-08-26 16:42:45 +09:00
2026-07-31 11:08:06 +02:00
2026-07-31 09:07:50 +02:00
2026-08-06 13:46:42 +02:00
2026-09-26 19:59:11 +02:00
2026-08-07 08:10:48 +02:00
2026-10-04 15:13:52 +02:00
2026-10-08 07:56:59 +02:00
2026-09-10 12:14:14 +02:00
2026-09-26 15:33:34 +02:00
2026-10-08 16:45:49 +02:00
2026-07-26 14:37:57 +02:00
2026-09-11 14:36:58 +02:00
2026-09-11 11:03:04 +02:00
2026-09-26 16:31:03 +02:00
2026-10-08 11:18:14 +02:00
2026-08-13 12:08:59 +02:00
2026-06-10 11:00:26 +02:00
2026-10-07 16:55:25 +02:00
2026-07-07 18:43:13 +02:00
2026-09-26 22:45:51 +02:00
2026-09-11 09:09:46 +02:00
2026-09-26 16:31:03 +02:00
2026-09-15 14:06:27 +02:00
2026-07-20 00:40:20 +02:00
2026-09-13 14:00:11 +02:00
2026-07-19 10:59:40 +02:00
2026-08-22 10:55:40 +02:00
2026-08-23 14:06:37 +02:00
2026-07-21 00:05:03 +02:00
2026-10-03 23:46:40 +02:00
2026-10-04 11:39:33 +02:00
2026-09-30 22:21:46 +02:00
2026-09-24 10:57:45 +02:00
2026-08-06 23:04:29 +02:00
2026-08-06 19:10:02 +02:00
2026-08-06 20:48:50 +02:00
2026-09-10 00:02:03 +02:00
2026-09-11 10:54:56 +02:00
2026-08-06 03:40:13 +02:00
2026-08-26 16:42:45 +09:00
2026-10-08 13:00:37 +02:00
2026-10-04 00:42:54 +02:00
2026-08-02 16:21:19 +02:00
2026-10-01 10:09:28 +02:00
2026-09-28 00:34:11 +02:00
2026-09-25 09:17:25 +02:00
2026-07-30 11:55:16 +02:00
2026-09-13 14:45:31 +02:00
2026-10-08 16:45:49 +02:00
2026-09-26 15:38:20 +02:00
2026-09-10 01:09:50 +02:00
2026-08-07 06:11:36 +02:00
2026-08-26 20:00:44 +09:00
2026-09-10 11:02:32 +02:00
2026-08-07 05:11:02 +02:00
2026-08-07 05:11:02 +02:00
2026-09-27 00:14:32 +02:00
2026-08-05 23:58:18 +02:00
2026-10-08 16:45:06 +02:00
2026-09-26 19:54:38 +02:00
2026-10-08 14:27:02 +02:00
2026-07-29 13:37:20 +02:00
2026-10-05 21:08:48 +02:00
2026-10-03 18:44:06 +02:00
2026-10-01 10:02:50 +02:00
2026-09-03 02:07:29 +02:00
2026-10-06 19:32:32 +02:00
2026-09-09 22:47:31 +02:00
2026-10-08 07:56:59 +02:00
2026-10-01 09:59:57 +02:00
2026-10-08 14:31:13 +02:00
2026-09-24 11:05:59 +02:00
2026-09-25 07:39:07 +02:00
2026-09-26 10:01:04 +02:00
2026-09-24 09:22:50 +02:00
2026-08-02 16:21:19 +02:00
2026-10-08 09:54:42 +02:00
2026-08-07 21:40:41 +02:00
2026-09-10 08:35:35 +02:00