Skip to content

feat(web): shadcn-solid component library (PLAN §4.5)#19

Merged
mcalthrop merged 3 commits intomainfrom
feat/web-component-library-4.5
Apr 3, 2026
Merged

feat(web): shadcn-solid component library (PLAN §4.5)#19
mcalthrop merged 3 commits intomainfrom
feat/web-component-library-4.5

Conversation

@mcalthrop
Copy link
Copy Markdown
Owner

Summary

Implements PLAN §4.5: standardise on shadcn-solid (registry-style components/ui, Tailwind, cn(), CVA). Documents the workflow in apps/web/COMPONENT_LIBRARY.md and links from the app README.

Changes

  • Tooling: Tailwind CSS v4 (@tailwindcss/vite), tailwindcss-animate, class-variance-authority, clsx, tailwind-merge; @kobalte/core for the registry Button implementation (no separate “Kobalte vs shadcn” choice — shadcn-solid components wrap Kobalte by design).
  • Biome: css.parser.tailwindDirectives for @import "tailwindcss" / @plugin.
  • UI: src/components/ui/button.tsx (Button + buttonVariants); RecipePage “← All recipes” uses buttonVariants on <A> per shadcn-solid Button docs.
  • PLAN: §4.5 marked complete.

Checklist

  • pnpm --filter web lint
  • pnpm --filter web test
  • pnpm --filter web build

Follow-up

Run pnpm dlx shadcn-solid@latest init / add <component> when registry access is available to refresh files from upstream.

Made with Cursor

- Add Tailwind v4 (@tailwindcss/vite), tailwindcss-animate, CVA, clsx,
  tailwind-merge; cn() helper and Biome css.tailwindDirectives
- Document COMPONENT_LIBRARY.md (shadcn-solid workflow, CLI); README pointer
- shadcn-solid-style Button + buttonVariants; recipe back link uses
  buttonVariants on Router A per docs
- Tick PLAN §4.5

Made-with: Cursor
Copilot AI review requested due to automatic review settings April 3, 2026 21:33
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements PLAN §4.5 for apps/web by standardizing the UI component approach on the shadcn-solid “registry” pattern (vendored components/ui/*) and introducing the supporting Tailwind/CVA tooling.

Changes:

  • Added Tailwind CSS v4 via @tailwindcss/vite, plus shadcn-solid-adjacent utilities (cva, clsx, tailwind-merge, tailwindcss-animate, @kobalte/core).
  • Introduced cn() helper and a vendored Button (components/ui/button.tsx) with buttonVariants.
  • Adopted the new buttonVariants styling for the “← All recipes” link on RecipePage, removing the old page-specific link CSS, and documented the workflow.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pnpm-lock.yaml Locks new Tailwind/CVA/Kobalte dependencies needed for shadcn-solid-style components.
PLAN.md Marks §4.5 complete and slightly refines the wording of the task.
apps/web/vite.config.ts Adds the Tailwind v4 Vite plugin.
apps/web/src/index.css Enables Tailwind via @import "tailwindcss" and registers tailwindcss-animate.
apps/web/src/lib/utils.ts Adds cn() (clsx + tailwind-merge) helper used by UI components.
apps/web/src/components/ui/button.tsx Adds vendored shadcn-solid Button and buttonVariants (wrapping Kobalte).
apps/web/src/pages/RecipePage.tsx Uses buttonVariants on <A> for the back link.
apps/web/src/pages/Page.css Removes now-redundant .recipe-detail-back-link styling.
apps/web/package.json Adds new runtime + dev dependencies for Tailwind and shadcn-solid patterns.
apps/web/biome.json Enables Biome CSS parsing support for Tailwind directives.
apps/web/README.md Links the chosen component library workflow documentation.
apps/web/COMPONENT_LIBRARY.md Documents the decision and workflow for shadcn-solid registry components.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/web/src/pages/RecipePage.tsx Outdated
@mcalthrop mcalthrop merged commit 431fd40 into main Apr 3, 2026
5 checks passed
@mcalthrop mcalthrop deleted the feat/web-component-library-4.5 branch April 3, 2026 21:41
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