The Contact page packages a standard contact form inside the most recognisable software UI of the early 2000s — the Outlook “New Message” composer. AnDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/windows-xp-developer/llms.txt
Use this file to discover all available pages before exploring further.
AquaWindow provides the chrome, complete with a title bar reading “New Message”. Inside, a structured form lays out four fields exactly as Outlook did: To, From, Subject, and a large Message body area. Submitting the form triggers a two-state send animation that ends with a satisfying green checkmark.
Visual overview
TheAquaWindow is centred on the page and sized to approximate a real Outlook compose window. Each field has a label on the left and an input on the right, separated by a subtle horizontal rule between fields. The To field is pre-filled with alex@developer.com and is read-only. The Send Message button sits at the bottom right of the form. The two form states cycle from idle → sent on submission, with a 1.5-second simulated delay between them.
Idle state
All editable fields are active. The Send Message button is enabled. The To field is pre-filled and read-only.
Sending state
The button label changes to “Sending…” and gains a
disabled attribute. Lasts 1.5 seconds.Success state
A green circular checkmark icon scales in with a spring animation (
scale: 0.9 → 1). Text reads “Message Sent!” with a flavour note. A “Send Another” button resets back to idle.Reset
Clicking “Send Another” hides the success panel and shows the blank form again.
Component structure
The send flow — step by step
Idle
The form renders with the To field pre-filled with
alex@developer.com and marked read-only. The visitor fills in From, Subject, and Message.Submit
The visitor clicks Send Message.
handleSend fires, calls e.preventDefault(), and sets isSending to true.Sending (1.5 s)
The button label swaps to “Sending…” and gains the
disabled attribute so the form cannot be re-submitted. A setTimeout of 1 500 ms simulates a network round-trip.Success
isSent becomes true. The form is replaced by the success panel — a green circular checkmark icon scales from 0.9 → 1.0 with a spring entrance, followed by “Message Sent!” and a flavour line reading “I’ll get back to you as soon as my dial-up connects.”Customization
The recipient address and send delay live in the Contact route component inassets/main.js. Locate it by searching for "alex@developer.com":
Key interactions
| Interaction | Behaviour |
|---|---|
| Page enter | AquaWindow springs in with its standard entrance animation |
| Hover on Send Message button | AquaButton gloss highlight brightens; scale: 1.04 lift |
| Form submit | isSending → true; button label changes to “Sending…”; button disables |
| After 1.5 s | Form is replaced by the success panel with a spring scale entrance |
| Success icon | Green checkmark scales from 0.9 → 1.0 with Framer Motion spring |
| ”Send Another” | Sets isSent to false; form re-appears |