feat(deck): link username in eyebrow row to user profile page#78
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe deck header now renders the creator's username as a navigable link to ChangesUsername Link in Deck Header
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
app/_components/deck/deck-header.tsxParsing error: The keyword 'import' is reserved Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Intent
The developer wanted to make the owner's username in the deck view header eyebrow row a clickable link to the user's profile page at /u/[username], rather than plain unclickable text. The change should use the project's internal Link wrapper from app/_components/link.tsx instead of next/link directly, per project conventions. The · separator should remain outside the link so it stays non-clickable. Styling should match existing muted text links in the eyebrow row, with hover underline and muted foreground color. The link should only render when deck.user?.username is truthy, preserving the existing guard.
What Changed
/u/[username]Linkwrapper (app/_components/link.tsx) with default import (named import auto-fixed by pipeline review)·separator kept outside the link; guard ondeck.user?.usernamepreservedRisk Assessment
✅ Low: Fix applied correctly; import is now default, separator is outside the link, guard and styling preserved — no remaining issues.
Testing
Loaded the deck page end-to-end in a real browser via Playwright. The accessibility tree confirms
link "wotc" href=/u/wotcin the eyebrow row with the·separator correctly outside the link element. The/u/wotcprofile page loads successfully. All user intent is satisfied./var/folders/b2/rft4yv4177d6mpkbhbwj7svc0000gn/T/no-mistakes-evidence/01KWCB314QN2NG24FNTV7ZXH65/deck-header-full.png)/var/folders/b2/rft4yv4177d6mpkbhbwj7svc0000gn/T/no-mistakes-evidence/01KWCB314QN2NG24FNTV7ZXH65/user-profile-wotc.png)Evidence: Accessibility snapshot confirming link structure
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 1 issue found → auto-fixed ✅
app/_components/deck/deck-header.tsx:17- link.tsx only hasexport default function Link. Every other caller usesimport Link from "@/app/_components/link". This named import breaks the link silently: the element renders nothing or throws.🔧 Fix: fix named import of Link wrapper in deck-header
✅ Re-checked - no issues remain.
✅ **Test** - passed
✅ No issues found.
git show 3600665andgit show da2b81e— reviewed both commitsConfirmedapp/_components/link.tsxusesexport default function Link(not named export)Started Next.js 16.2.6 dev server atlocalhost:3737with local PostgresNavigated to/deck/cmop0mtfy00cge8zbore46332(Tyranid Swarm deck, owner: wotc)Verified accessibility snapshot:link "wotc" [cursor=pointer]: /url: /u/wotcpresent in eyebrow row, with·separator outside the linkNavigated to/u/wotcto confirm the link target renders a profile page✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.
Summary by CodeRabbit