TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/full-stack-sorcerer/llms.txt
Use this file to discover all available pages before exploring further.
/contact route, titled Boo at Me, invites visitors to summon the developer with a message. Rather than a plain form on a white background, the entire UI is built to look like a Ouija board: aged parchment texture with a subtle noise filter, bold YES and NO labels anchored to the top corners, and the full alphabet displayed in two arched rows across the top of the board — just like the real thing. Numbers 1–0 sit on a third row beneath the letters.
The Ouija Board UI
The board container uses a warm#e6d5b8 background color with an SVG feTurbulence noise filter overlaid at 15% opacity to simulate aged parchment. An 8px solid border in #c2b29a frames the board, and a faint decorative ghost SVG sits in the lower-right corner at 20% opacity. All form labels are rendered in an uppercase tracked display font in muted #5c5243 to blend with the parchment.
Submitting the Form
Navigate to /contact
Open the portfolio and click Boo at Me from the home menu, or visit
/contact directly. The Ouija board form fades and scales into view.Fill in your name and email
Enter your full name in the Your Earthly Name field and your email address in How to Reach You. Both fields are required — the form will not submit without them.
Describe what haunts you
Type your message in the What Haunts You (Message) textarea. Use this field to describe a project, ask a question, or propose a collaboration. Placeholder text reads “I have a project that needs resurrecting…”
Click the ghost SEND button
Press the ghost-shaped submit button at the bottom of the board. The button is split into three equal horizontal bands — white on top, orange in the middle, yellow on the bottom — and shaped with
rounded-t-full to form a ghost silhouette. The label in the orange band reads SEND at rest.Form Field Reference
| Field | Type | Required | Description |
|---|---|---|---|
| Your Earthly Name | text | ✅ Yes | The sender’s full name. Placeholder: John Doe. |
| How to Reach You | email | ✅ Yes | A valid email address. Placeholder: ghost@machine.com. |
| What Haunts You (Message) | textarea | ✅ Yes | The message body. Renders as a 4-row resizable textarea. |
UI State Transitions
The form is a React controlled component. All three field values are held in a singleformData state object via useState. Submission state is tracked by two additional booleans: sending and success.
| State | Button label | Form fields | Notes |
|---|---|---|---|
| Idle | SEND | Editable | Default state on page load and after reset. |
| Submitting | Summoning... | Disabled | Active for 1.5 s while sending === true. |
| Success | SEND | Cleared | success === true for 5 s; confirmation text visible. |
| Reset | SEND | Editable | After 5 s the success flag clears and the form is ready again. |