Quick and Claude Fable 5
88ddd2a406
feat(notifications): branded HTML email templates
...
Replace the bare-bones inline HTML in notification, verification, and
admin test emails with a shared branded layout in internal/mail,
matching the web UI's Midnight Cinema theme (dark card shell, wordmark,
mono episode-code badges, white primary CTA). The shell is built for
email clients: tables + inline styles, explicit dark color-scheme,
Outlook-safe button, and a width:100%/max-width pattern so the card
shrinks correctly on phones.
Plain-text bodies, subjects, and the link-free-when-unconfigured
guarantee are unchanged; the admin test email gains an HTML body so the
SMTP test doubles as a design preview.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-11 21:34:19 -04:00
..
2026-05-22 23:26:56 -04:00
2026-05-26 17:57:26 -04:00
2026-05-26 17:57:26 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-05 22:43:20 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:58:45 -04:00
2026-06-10 08:58:45 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 19:25:07 -04:00
2026-05-22 23:26:56 -04:00
2026-06-07 19:59:10 -04:00
2026-06-10 08:58:45 -04:00
2026-05-30 19:31:46 -07:00
2026-06-10 19:25:07 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-09 19:28:53 -04:00
2026-05-22 23:26:56 -04:00
2026-05-31 17:34:48 -04:00
2026-05-31 17:34:48 -04:00
2026-06-07 17:18:55 -04:00
2026-06-07 17:18:55 -04:00
2026-05-29 13:55:39 -04:00
2026-05-29 14:56:16 -04:00
2026-06-10 16:05:49 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:18:35 -04:00
2026-05-23 20:26:05 -04:00
2026-05-23 20:26:05 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-27 14:27:14 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-06-11 21:34:19 -04:00
2026-06-05 22:43:20 -04:00
2026-06-11 14:55:46 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 16:05:49 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 14:58:54 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-07 15:57:05 -04:00
2026-05-22 23:26:56 -04:00
2026-06-06 22:29:26 -04:00
2026-06-06 22:29:26 -04:00
2026-05-26 17:57:26 -04:00
2026-05-26 17:57:26 -04:00
2026-06-10 14:58:54 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 17:18:18 -04:00
2026-06-11 19:51:03 -04:00
2026-06-11 20:55:30 -04:00
2026-06-11 18:10:16 -04:00
2026-06-11 14:55:46 -04:00
2026-06-11 19:51:03 -04:00
2026-05-22 23:26:56 -04:00
2026-05-30 03:36:56 +00:00
2026-05-22 23:26:56 -04:00
2026-05-23 23:48:25 -04:00
2026-06-06 22:29:26 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-05 22:43:20 -04:00
2026-06-10 20:18:29 -04:00
2026-06-10 19:25:07 -04:00
2026-06-10 20:18:29 -04:00
2026-06-09 13:00:48 -04:00
2026-06-09 13:00:48 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 16:02:42 -04:00
2026-06-05 22:43:20 -04:00
2026-05-22 23:26:56 -04:00
2026-06-09 14:23:28 -04:00
2026-06-09 14:23:28 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:18:35 -04:00
2026-05-29 22:40:55 -04:00
2026-06-09 13:00:48 -04:00
2026-06-09 13:00:48 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-08 15:25:48 -04:00
2026-06-08 21:55:35 -04:00
2026-06-10 08:18:35 -04:00
2026-06-07 15:57:05 -04:00
2026-06-07 15:57:05 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-05 22:43:20 -04:00
2026-06-09 15:46:11 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 20:18:29 -04:00
2026-06-10 16:02:42 -04:00
2026-05-22 23:26:56 -04:00
2026-05-26 17:57:26 -04:00
2026-05-29 23:59:12 -04:00
2026-05-22 23:26:56 -04:00
2026-06-07 21:27:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:18:35 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:58:45 -04:00
2026-05-23 21:32:22 -04:00
2026-06-05 22:43:20 -04:00
2026-06-10 08:18:35 -04:00
2026-06-10 08:18:35 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:58:45 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-06-10 08:18:35 -04:00
2026-05-24 00:04:25 -04:00
2026-05-29 22:40:55 -04:00
2026-05-29 22:40:55 -04:00
2026-05-29 22:40:55 -04:00