Skip to content

Interactive Forms · Retro OS

Retro OS Signup Dialog

A beveled 1995-desktop dialog box: the progress bar fills in chunky blocks and the window can be dragged around the teal desktop.

  • Framer Motion
  • Retro
  • Windows 95
  • Form
  • Drag

The full prompt

Show the prompt that defines the layout, motion and design language
Build a "Retro OS Signup Dialog" React component.

CONCEPT: A newsletter signup presented as an old-school desktop dialog window that you can drag. Submitting shows a blocky progress bar and a 'Setup complete' message.

LAYOUT & CONTENT:
- Navy title bar 'Subscribe.exe' with _ □ ✕ buttons; grey body; label + sunken text field for email; checkbox 'Send me the weekly digest'.
- Buttons 'OK' and 'Cancel' with classic 2px bevels; a floppy-disk style icon.

INTERACTIONS & MOTION:
- Window drag via drag with dragConstraints to the desktop, dragMomentum false.
- OK: progress bar fills with 12 discrete blocks (one every 120ms), then the dialog content swaps to 'Setup complete. Welcome aboard.'
- Buttons invert their bevel when pressed (inset look).

DESIGN SYSTEM — Retro OS:
- Classic desktop: teal desktop #008080, window grey #C0C0C0, navy title bar #000080.
- Beveled 2px borders (white top-left, dark bottom-right) on every control.
- Type: pixel-ish sans (Pixelify Sans) or MS Sans Serif stand-in.

CRAFT RULES:
- Motion: Framer Motion with spring physics (type: "spring"). Animate transform and opacity only. Respect prefers-reduced-motion via useReducedMotion().
- Icons: lucide-react where icons are needed.
- Accessibility: real <button>/<a>/<label> elements, visible focus ring, keyboard operable, aria attributes where state changes.

OUTPUT: one self-contained React component file (Tailwind CSS v4 utility classes, framer-motion, lucide-react), no external images, default export, ready to paste into a Next.js App Router page with "use client". Load any Google Font it needs with next/font/google.

How to use this prompt

  1. 1. CopyUse “Copy Claude Prompt” above. It includes the layout, the spring values and the design rules.
  2. 2. Paste into ClaudeAdd your own brand name, copy and colors at the top of the prompt if you like.
  3. 3. Drop it inYou get one file with React, Tailwind and Framer Motion. Install framer-motion and lucide-react.