Repository navigation
feat(website): add Concepta contact page - #56
Merged
Merged
Conversation
Adds /contact with a name/email/subject/message form, the Orlando address and phone number, and a Contact link in the Concepta header (desktop pill and mobile drawer). Submissions go through a new /api/contact route that sends via the existing Resend integration to guilherme.rosa.c@conceptatech.com and thomas@conceptatech.com with reply-to set to the sender, and optionally saves the sender to RESEND_AUDIENCE_ID_CONTACT. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/contactpage (Concepta shell) with a form for name, email, subject, message, plus the address (111 N Orange Ave, Suite 800, Orlando, FL 32801) and phone (+1 (407) 720-4711). The address and phone come fromcomponents/constants.ts./contactis treated as a Concepta route in bothFloatingNavbarand thedata-productboot script inlayout.jsx.POST /api/contactroute using the existing Resend client (src/lib/resend.ts):replyToset to the sender so a reply goes straight to themRESEND_AUDIENCE_ID_CONTACTis set, saves the sender as a Resend contact (optional; a failure here doesn't fail the request)RESEND_API_KEYis missing: dev no-op, 503 in productionsite-tests/contact-integration.test.mjs.Env
RESEND_API_KEY,RESEND_FROM_EMAIL(defaults toConcepta <hello@conceptatech.com>)RESEND_AUDIENCE_ID_CONTACTTest plan
pnpm test:site: the new contact tests pass (fluttermix-routingalso fails onmain)/contactreturns 200, the header shows Contact as active, and the layout is correct at 1440px and 390pxPOST /api/contactreturns 400 for an invalid email and the dev no-op response when no API key is set🤖 Generated with Claude Code