brackt/scripts
Chris Parsons 04a92ec7de
Add branded dark-themed HTML email template (#402)
Introduces a shared email module that wraps all transactional emails in a
cohesive dark-themed template matching the site's visual identity (Barlow
font, #14171e background, #adf661 CTA buttons, logomark PNG header).

- app/lib/email.server.ts: new module with sendEmail, wrapInEmailTemplate,
  emailButton, emailParagraph, and escapeHtml helpers; Resend instance is
  lazily initialized as a singleton
- public/email-logo.png: 96×124px PNG of the logomark for email use (SVG
  gradients are not supported in Outlook)
- auth.server.ts: password reset and email verification now use the branded
  template; errors are thrown so Better Auth can surface failures
- support.tsx: internal notification uses sendEmail; adds a user-facing
  branded confirmation email (fire-and-forget so failures don't surface to
  the user); plain text fallback included
- scripts/sync-prod-db.sh: remove first_name/last_name from sanitize query
  (columns were dropped in #399)
- 13 unit tests covering all template helpers

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-10 11:18:57 -07:00
..
build-server.mjs refactor: migrate server code from JavaScript to TypeScript with build pipeline 2025-10-18 22:16:04 -07:00
capture-baseline.ts Fix capture-baseline.ts: postgres-js returns rows directly 2026-05-01 06:07:14 +00:00
migrate-clerk-passwords.mjs Migrate authentication from Clerk to BetterAuth (#324) 2026-04-24 22:00:49 -07:00
migrate.mjs Add email verification for email/password signups (#400) 2026-05-09 23:58:45 -07:00
sync-prod-db.sh Add branded dark-themed HTML email template (#402) 2026-05-10 11:18:57 -07:00