foolish-bandit/gary: shadcn/ui primitives, Inter font, and Explain This page

PR #15 lands a combined change: seven shadcn/ui component primitives, a self-hosted Inter font replacing `next/font/google`, a new `/explain` page built on those primitives, and a set of UX fixes across the draft/review flows and sidebar.

chat-uisummarization

The component layer lives in frontend/src/components/ui/ and covers alert, card, label, separator, skeleton, tabs, and textarea. These are standard shadcn copies backed by Radix UI. The explain/page.tsx built in this commit uses Card, CardContent, Button, Input, Textarea, Label, Alert, AlertDescription, and Separator from those imports -- so the new primitives and the new page were developed together.

Font handling moves from next/font/google to @fontsource/inter (^5.2.8). The CSS variables are retargeted so the serif utility still resolves; practically this means the font files are bundled rather than fetched from Google at runtime, which matters on Workers where external fetch constraints apply.

The UX fixes in this batch: draft and review error paths now show a consistent "This will be available once GaryOSS is connected to the backend." message. Upload errors on the initial view become first-class state with a visible uploadError display. The desktop sidebar open/closed state is routed through a single variable rather than a separate flag (the bug was that the state could disagree with itself on navigation). The sidebar's assistant link is relabelled "Ask Gary". Login and signup screens show a dev auth bypass banner when NEXT_PUBLIC_GARY_SKIP_AUTH is set.

The commit history shows 58ef971c (the component + font + fixes), an intermediate ad2c41de merge resolving main-branch churn while the branch was open, and 98f33256 merging to main via PR #15. The PR was produced by a Codex cloud task and merged quickly.

So what Worth a look if your fork is building toward a guided-UX product -- the shadcn primitives are a reasonable foundation and the `/explain` page is a clean example of using them. Check the `globals.css` changes carefully before adopting: the CSS token additions may conflict with existing design tokens in the upstream Mike codebase. The font swap is also an architectural change (self-hosted vs. Google CDN) that has implications beyond aesthetics.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

2 commits from foolish-bandit/gary, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
58ef971c Add shadcn/ui foundation components Zack Brenner 2026-05-07 ↗ GitHub
ad2c41de Merge branch 'main' into codex/create-pr-#10-frontend-polish-and-bugfix-x4l6hb Zack Brenner 2026-05-07 ↗ GitHub

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-267.md from inside the repo you want the changes in.

⬇ Download capture-thread-267.md