Files
freno-dev/src/server
Michael Freno a7ad581ed2 feat(contact): extract shared ContactForm and add per-subdomain contact pages
Refactor the monolithic main-site contact page into a reusable
<ContactForm> component that encapsulates the Turnstile widget, cooldown
timer, email-verification flow, and tRPC submission. The main
/contact route becomes a thin wrapper that supplies the site-specific
disclaimer subline and Life-and-Lineage FAQ accordion (now exported as
<LineageContactQuestions> for reuse).

Add per-subdomain contact routes (gaze, inputhalo, lineage, nessa) that
render the shared component, with site-aware subject prefix, recipient,
heading, and PageHead metadata derived via useSite() from CONTACT_CONTEXT.

Introduce src/lib/contact-config.ts (with tests) centralizing the contact
recipient/sender addresses and subject building. The misc.sendContactRequest
mutation accepts an optional subjectPrefix (defaulting to "freno.me") so
inbound call sites continue emitting byte-identical legacy subjects, while
subdomain submissions route distinct subjects (e.g. "[Gaze] Contact Request")
to the same inbox.
2026-07-23 12:25:13 -04:00
..
2026-01-21 12:22:19 -05:00
2026-05-28 20:22:30 -04:00
2026-01-21 12:22:19 -05:00
2026-01-21 01:56:54 -05:00
2026-01-21 01:56:54 -05:00
2025-12-28 20:04:29 -05:00
2026-01-21 12:22:19 -05:00
2026-05-28 20:22:30 -04:00
2026-05-28 22:23:21 -04:00
2026-01-21 12:22:19 -05:00
2026-01-07 20:19:26 -05:00
2026-01-04 11:14:54 -05:00
2025-12-23 10:30:51 -05:00
2026-05-28 10:24:23 -04:00
2026-01-04 11:14:54 -05:00
2026-07-23 08:43:40 -04:00
2026-01-04 11:14:54 -05:00
2026-01-07 20:19:26 -05:00
2026-01-07 20:34:23 -05:00