Swap to shadcn components and polish the design

Components (added via the shadcn MCP/CLI):
- Navbar: NavigationMenu on desktop, Sheet on mobile; drops
  Navbar.module.css and the hand-rolled slide-down menu
- Buttons: shadcn Button via a shared ContactButtons component
  (replaces Button.js and its CSS module)
- Card for price cards, testimonials, the business block and plan;
  Table for prices; Input/Textarea/Label/NativeSelect/RadioGroup and
  Alert in the quote form; Separator in the footer
- Components import cn from @/lib/utils (not the new "cn" package);
  accordion moved to the unified radix-ui package

Design tweaks:
- Geist Sans is actually applied (font variables were on <body>, but
  Tailwind reads them on <html>, so the site fell back to system fonts)
- Theme primary set to the existing brand blue; slightly smaller radius
- Balanced, tighter heading tracking; muted secondary text
- 44px contact buttons; 16px FAQ text; tighter homepage spacing
- Full-width selects with 16px text on phones (no iOS zoom)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
asownerytandClaude Opus 5.5 committed 2026-09-30 21:25:07 +13:00
1 parent f6846ebaae
commit f916f058fc
36 files changed
+2888 -823

No files matched your search

+5 -15
View File
@@ -1,10 +1,9 @@
import Link from "next/link";
import { MessageSquare, Phone } from "lucide-react";
import HeaderSm from "../components/HeaderSm";
import Button from "../components/Button";
import ContactButtons from "../components/ContactButtons";
import CtaBand from "../components/CtaBand";
import FaqList from "../components/FaqList";
import { business, links, pageMetadata } from "@/lib/site";
import { pageMetadata } from "@/lib/site";
export const metadata = pageMetadata({
title: "Still on Windows 10? What to Do Now | Te Atatu Computers",
@@ -62,16 +61,7 @@ export default function Windows10Page() {
buy a new computer. Here are your options, and I&apos;m happy to
check which one suits you for free.
</p>
<div className="flex flex-col sm:flex-row gap-3">
<Button href={links.tel} variant="primary">
<Phone aria-hidden="true" />
Call {business.phone}
</Button>
<Button href={links.sms} variant="outlineDark">
<MessageSquare aria-hidden="true" />
Text for a free check
</Button>
</div>
<ContactButtons textLabel="Text for a free check" />
</section>
<section className="container mx-auto max-w-3xl mb-16">
@@ -79,7 +69,7 @@ export default function Windows10Page() {
<ol className="space-y-6">
{options.map(({ title, text }, i) => (
<li key={title} className="flex gap-4">
<span className="flex size-10 shrink-0 items-center justify-center rounded-full bg-sky-800 font-bold text-white">
<span className="flex size-10 shrink-0 items-center justify-center rounded-full bg-primary font-bold text-white">
{i + 1}
</span>
<div>
@@ -92,7 +82,7 @@ export default function Windows10Page() {
<p className="mt-6">
Not sure? Get in touch and I&apos;ll give you a straight answer. See
all prices on the{" "}
<Link href="/pricing" className="text-sky-800 underline">
<Link href="/pricing" className="text-primary underline">
pricing page
</Link>
.