30 lines
1.1 KiB
TypeScript
30 lines
1.1 KiB
TypeScript
import { ContactForm } from "~/components/ContactForm";
|
|
import { EdgeCacheHeaders } from "~/components/EdgeCacheHeaders";
|
|
import SubdomainHeader from "~/components/SubdomainHeader";
|
|
|
|
/**
|
|
* Nessa contact page (`nessa.freno.me/contact`).
|
|
*
|
|
* Thin wrapper over the shared `<ContactForm>`. Site awareness —
|
|
* subject prefix `[Nessa]`, recipient label, heading, and PageHead metadata —
|
|
* is derived from `useSite()` inside the component via
|
|
* `CONTACT_CONTEXT.nessa`, so this route needs no explicit props.
|
|
*
|
|
* vercel.json rewrites `nessa.freno.me/*` → the internal `/nessa/*` route
|
|
* prefix; the browser URL stays `nessa.freno.me/contact` so the canonical and
|
|
* Turnstile origin resolve correctly.
|
|
*
|
|
* Acceptance: `nessa.localhost:3000/contact` renders the contact form with
|
|
* Nessa branding; submissions email `michael@freno.me` with subject
|
|
* `[Nessa] Contact Request`.
|
|
*/
|
|
export default function NessaContactPage() {
|
|
return (
|
|
<>
|
|
<EdgeCacheHeaders maxAge={60} staleSeconds={3600} />
|
|
<SubdomainHeader />
|
|
<ContactForm />
|
|
</>
|
|
);
|
|
}
|