Skip to content

feat(my): interactive My Passport in the members hub#172

Open
Darkest-Teddy wants to merge 1 commit into
mainfrom
feature/my-passport
Open

feat(my): interactive My Passport in the members hub#172
Darkest-Teddy wants to merge 1 commit into
mainfrom
feature/my-passport

Conversation

@Darkest-Teddy

Copy link
Copy Markdown
Collaborator

What

Imports and implements the My Passport design from Claude Design into the /my members hub (Pillar 03).

A collectible hacker passport that flips open in 3D to reveal ink-stamped "visas" for every hackathon you've hacked — leather cover with a foil incognito hacker crest, guilloché security pages, and eight turbulence-warped SVG stamps (Hack the North, PennApps, MHacks, Hack the 6ix, LA Hacks, Bitcamp, cuHacking, HackUMass).

How

  • New components/hq/passport.tsx — a faithful React port of the source My Passport.dc.html (Claude Design's DCLogic format). The closed → flash → open state machine, transforms, and timings are preserved 1:1.
  • Adapted to the app, not dropped in verbatim:
    • Uses the project font tokens (--font-display / --font-mono) instead of re-importing Google fonts.
    • Honors prefers-reduced-motion — skips the flip/stamp choreography.
    • The original was a fixed full-screen overlay; here the fixed 680×470 spread is scaled to fit any width via a ResizeObserver and lives inside the standard page .shell.
  • app/globals.css — adds the pp-stamp-in keyframes (with a reduced-motion guard).
  • components/hq/my-client.tsx — renders <Passport /> above the tracker in both the signed-in hub and the open-mode fallback.

Verification

  • npm run lint — clean
  • npm run build — succeeds; TypeScript passes; /my prerenders
  • Smoke-tested the served /my: the closed passport (cover art, crest, title, control) renders; stamps stamp in on open.

Port the "My Passport" Claude Design component into the /my members hub
(Pillar 03). A collectible hacker passport flips open in 3D to reveal
ink-stamped visas for the hackathons you've hacked.

- New components/hq/passport.tsx: faithful React port of the DCLogic
  design - leather cover with a foil "incognito hacker" crest, guilloche
  pages, and eight turbulence-warped SVG stamps that stamp in on open.
- Uses the app font tokens (Syncopate/Space Mono via CSS vars), honors
  prefers-reduced-motion, and scales the fixed 680x470 spread to fit any
  width via a ResizeObserver instead of the original fixed overlay.
- Add the pp-stamp-in keyframes to globals.css.
- Render <Passport /> above the tracker in both the signed-in hub and the
  open-mode fallback in my-client.tsx.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant