The Contact page (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/dev-arcade/llms.txt
Use this file to discover all available pages before exploring further.
/contact) is labelled LEVEL 7: FINAL STAGE and takes its visual language from the continue screen found in classic arcade cabinets — the moment after your last life is spent when the machine asks “CONTINUE?” and starts counting down. Rather than a generic contact form, the page frames reaching out as the player choosing to keep playing, turning a mundane conversion action into the natural conclusion of the arcade narrative.
The Coin Slot Cabinet Graphic
Anchoring the left side of the layout is a stylised vertical cabinet graphic that depicts a coin slot. It shows a “25¢” denomination label and a ”< INSERT” directional prompt pointing toward the slot opening. The graphic is built entirely from styleddiv elements — no image assets are used — which means it scales cleanly at any viewport width and inherits the page’s dark colour scheme automatically.
The cabinet graphic serves a dual purpose: it signals the “CONTINUE?” metaphor at a glance, and it draws the eye toward the initials entry widget that sits directly beside it.
Keyboard-Controlled Initials Widget
The standout interactive element on the page is the initials entry widget — a row of three letter slots that reads [A][A][A] on load. The active slot is highlighted with a flashing cursor. Visitors navigate it entirely with the keyboard, exactly as they would enter their initials on a high-score screen:| Key | Action |
|---|---|
ArrowUp | Cycle the focused letter forward (A → B → … → Z → A) |
ArrowDown | Cycle the focused letter backward (Z → Y → … → A → Z) |
ArrowRight | Move cursor to the next slot (max position: 2) |
ArrowLeft | Move cursor to the previous slot (min position: 0) |
useState hooks: letters (an array of three single-character strings, initialised to ['A', 'A', 'A']) and cursorPos (a number 0–2 tracking which slot is active). The boundary guards (Math.min(2, …) and Math.max(0, …)) prevent the cursor from moving outside the three available slots.
Message Textarea & Submit Button
Below the initials widget sits a full-width textarea with a neon-lime placeholder:text-lime-400 / placeholder-lime-600) keeps the terminal aesthetic consistent with the rest of the page’s green-on-black colour palette.
The form is submitted via a standard button labelled “PRESS START TO CONNECT” accompanied by a send icon from Lucide React. The button uses the same pixel-font treatment as the rest of the page and carries a hover glow effect.
The form element itself uses onSubmit: e.preventDefault() — no HTTP request is made by default:
Social Links
Beneath the form, a row of icon buttons provides direct links to social profiles. Each button uses a Lucide React icon and lights up with a glow effect on hover:GitHub
Links to the developer’s GitHub profile. Uses the Lucide
Github icon.Twitter / X
Links to the developer’s Twitter or X profile. Uses the Lucide
Twitter icon.Links to the developer’s LinkedIn profile. Uses the Lucide
Linkedin icon.box-shadow that intensifies on :hover — matching the button treatment used throughout the rest of Dev Arcade.