Skip to content

About page with interactive character avatar#15

Merged
martinl5 merged 1 commit into
mainfrom
claude/repository-improvement-plan-l0a4p1
Jun 10, 2026
Merged

About page with interactive character avatar#15
martinl5 merged 1 commit into
mainfrom
claude/repository-improvement-plan-l0a4p1

Conversation

@martinl5

Copy link
Copy Markdown
Owner

Summary

Adds an /about page featuring an interactive cartoon avatar of Martin, in the style of the Framer "Character" portfolio module but recreated as an original SVG (the Framer module is a licensed asset and needed visual customization anyway), restyled to the LCB terminal theme.

CharacterAvatar (src/components/CharacterAvatar.tsx)

  • Thick-line SVG portrait: off-white strokes on the dark panel, near-black side-swept hair with a fringe, friendly smile, navy polo with collar and buttons — modeled on the owner's photo.
  • Pupils follow the cursor anywhere on the page (framer-motion useMotionValue + useSpring, clamped travel — no React state on pointermove, so the strict react-hooks rules stay happy).
  • Idle blink every 4–6 s; hover → right-eye wink, brow dip, and a wider grin.
  • Fully static under prefers-reduced-motion (no listeners or timers), per the PRODUCT.md accessibility commitment.

About page (src/app/about/page.tsx)

  • Server component with proper metadata; the avatar is the only client island.
  • LCB house style: gold rule + brand strip, panel card with name Martin / @martinl5, a short blurb, GitHub profile and LinkedIn links (owner-selected), and a back link to the terminal.
  • Owns its own scrolling (fixed inset-0 overflow-y-auto) since the root layout pins body to overflow: hidden.
  • "About" link added to the game header; brand icons are inline SVGs (SocialIcons.tsx) because lucide-react dropped brand icons.

Verification

  • lint / typecheck / 278 tests / build all pass; /about prerenders static (○ /about in the route table).
  • Smoke-tested via next dev + curl (HTTP 200, correct title, both links present) and rasterized the rendered SVG to visually verify the character.
  • Please check the interactive feel (pupil tracking, blink, wink) on the Vercel preview.

https://claude.ai/code/session_01RQVRtRAigoNCzJc37A5Ses


Generated by Claude Code

- CharacterAvatar: original line-art SVG portrait in the LCB palette
  (off-white strokes, side-swept dark hair, navy polo). Pupils follow
  the cursor via framer-motion springs, idle blink every 4-6s, wink +
  grin on hover; fully static under prefers-reduced-motion
- /about route: server page with metadata, terminal-styled panel with
  name/handle, blurb, GitHub + LinkedIn links, back link; owns its own
  scrolling since the root layout pins body overflow
- SocialIcons: inline GitHub/LinkedIn SVGs (lucide has no brand icons)
- About link added to the game header

https://claude.ai/code/session_01RQVRtRAigoNCzJc37A5Ses
@vercel

vercel Bot commented Jun 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sqlwak Ready Ready Preview, Comment Jun 10, 2026 12:22pm

@martinl5 martinl5 marked this pull request as ready for review June 10, 2026 12:23
@martinl5 martinl5 merged commit 7fdccda into main Jun 10, 2026
3 checks passed
@martinl5 martinl5 deleted the claude/repository-improvement-plan-l0a4p1 branch June 10, 2026 12:23
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.

2 participants