feat(web,ui): shadcn Empty, Kbd, and Switch adoption across signed-in surfaces - #799
Conversation
|
|
Maintained by uploads.sh · add media: |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
uploads-auth | 92257de | Commit Preview URL Branch Preview URL |
Aug 23 2026, 03:05 PM |
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (2)
🚫 Excluded labels (none allowed) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
uploads-web | 92257de | Commit Preview URL Branch Preview URL |
Aug 23 2026, 03:05 PM |





Continues the Tailwind v4 + shadcn migration: adds the missing
EmptyandKbdprimitives to the kit and adopts them (plus the already-shippedSwitchlook) across the signed-in surfaces, and fixes the visibly unstyled code example on the homepage.What's here
Kit (
packages/ui)Empty(+ Header/Media/Title/Description/Content) andKbd/KbdGroup, generated via the shadcn CLI (base-nova, same as the rest of the kit); wired into tsup entries and the/dev/ui-kitworkbench.tooltip.tsxandinput-group.tsxalready carrieddata-slot=kbdselector hooks — they now have a component to match.React islands
WorkspaceFileTable: true empty states ("No files yet." / "No files match these filters.") render throughEmpty; end-of-list markers stay as plain.wft-endlines. The search input gains a visibleKbdhint and/+ ⌘K/Ctrl+K focus shortcuts (hydration-safe platform label).ScreenshotsByPath: the "No screenshots yet" CTA rebuilt onEmpty(copy-command button preserved); drill/filter empties use a compact variant; the existing ⌘K shortcut finally gets a visible hint in the filter input.Astro signed-in pages (no React)
renderEmptyStateHtml()builder inworkspace-ui.tsemits the samedata-slot/Tailwind markup as the React component, withcardandinlinevariants + tests. Adopted at galleries, developers tokens, workspaces list, and profile sessions. The old.ws-empty-state*CSS is fully retired..cs-toggleCSS for the shadcn Switch's classes keyed offaria-checked— identical visuals to the kitSwitch, zero behavior changes (script targets ids only).Homepage
.example-screen("Which page was that?") never set the mono stack, so it rendered in the sans font — fixed, and the duplicated inline-codechip rules are consolidated.Fix in passing
/dev/ui-kithad become unreachable in local dev: theENVIRONMENT="production"var declared in chore(ui): design-sync inputs for the shadcn kit #796 is served verbatim byastro dev's platform proxy, tripping the 404 gate. The gate now also checksimport.meta.env.DEV.Deliberately deferred: the shadcn Sidebar block for the signed-in shell — tracked in #798 (it would mean converting the Astro shell to a React island; discussion queued for after this adoption settles).
Screenshots
Verification
tsc --noEmitclean; full web vitest suite 848/848; repoformat:checkclean./focuses search, toggle click roundtripsaria-checked), galleries/developers empties, homepage snippet.