Recommendations & Sources
What to ignore, what to fix before reuse, and where all of this came from.
Dead Code
Two files exist in the source codebase but aren't used anywhere in app/— they only reference each other. Ignore both; they're not part of the active design.
- components/ui/new/button.tsx — a stock, uncustomized shadcn/ui Button using semantic tokens (bg-primary text-primary-foreground) instead of the brand primary-70 scale. Its only consumer is the other dead file below.
- components/ui/input-group.tsx (InputGroupButton) — sizes xs/sm/icon-xs/icon-sm, not used anywhere in app/.
CSS Modules
14 *.module.css files on the source platform were checked — none of them contain a .btn or .button class. Every button on that platform is styled purely with Tailwind utilities (via cva/cn() or inline className), never CSS Modules.
Recommendations
- Treat app/components/ui/button.tsx as the single source of truth — 13 variants × 6 sizes already cover most UI needs on this platform.
- Before reusing purple, the source's bg-purple-700/bg-purple-800 aren't valid — this bundle already fixes it to purple-90/purple-100 from app/globals.css.
- The pill CTA pattern (Ad-hoc CTA Patterns → Pill CTA) is a strong candidate for an official variant — or just map it onto the existing rounded/roundedOutline variants — instead of continuing to hand-write it per file.
- Ignore components/ui/new/button.tsx and input-group.tsx — dead code, not part of the active design.
Source Reference
- components/ui/button/index.tsx — base Button (active, used widely)
- components/ui/button/button.stories.tsx — Storybook (incomplete)
- components/ui/pagination.tsx, components/ui/carousel.tsx, components/ui/carousel/dot-button.tsx, components/ui/select/index.tsx
- components/ui/new/button.tsx, components/ui/input-group.tsx (dead code)
- Ad-hoc files: ContactMarketing.tsx, CallToAction.tsx, ServicesSection.tsx, ResourcesHero.tsx/ResourcesHeroV2.tsx, SeoTools.tsx, WebAnalyzerSidebar.tsx, FooterCompliance.tsx