chore(ui): retire unused legacy primitives (migration phase 4) - #795
Conversation
Delete Badge/Brand/Button/Divider/FileBrowser/GalleryTile/Panel/Progress/ Surface — all zero-consumer now that live surfaces use the shadcn kit under packages/ui/src/components/ui/. Callout and Field (Input/Select) stay: they still have real consumers in apps/web (IslandErrorBoundary, WorkspaceFileTable, ScreenshotsByPath). Trim the matching dead ul-surface/ ul-panel/ul-divider/ul-tile rule families from styles.css; ul-brand, ul-btn, ul-badge, ul-progress, and the field/input/select rules stay because raw ul-* class strings in apps/web still use them. Update the packages/ui README to describe the shadcn kit as primary and the remaining exports as transitional.
|
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
uploads-web | 133fe5c | Commit Preview URL Branch Preview URL |
Aug 23 2026, 01:44 AM |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
uploads-auth | 133fe5c | Commit Preview URL Branch Preview URL |
Aug 23 2026, 01:44 AM |
|
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 |
Phase 4 (final) of the Tailwind/shadcn migration: retires the legacy hand-rolled primitives now that all signed-in surfaces use the shadcn/Base UI kit.
What changed
Badge,Brand,Button,Divider,FileBrowser,GalleryTile,Panel,Progress,Surface.index.tstrimmed to the two remaining transitional exports.Callout(used byIslandErrorBoundary,WorkspaceFileTable,ScreenshotsByPath) andField/Input/Label/Select(used byScreenshotsByPath).styles.css671 → 520 lines: deleted the fully-dead.ul-surface,.ul-panel*,.ul-divider*,.ul-tile*families. Kept.ul-brand*,.ul-btn*,.ul-badge*,.ul-progress*, and field/input/select/callout rules — rawul-*class strings still reference them from Astro pages and string builders (Brand.astro,login.astro,workspace-ui.ts, etc.).@uploads/ui/components/<name>+theme.css); documents the transitional legacy exports and how to retire them later.tokens.css,theme.css, and public Astro page styling untouched.Verification
pnpm --filter @uploads/ui build,astro build, fullpnpm test(4907 tests) all green; oxlint/oxfmt clean.