Phase 4: pricing, about, area, Windows 10 and business pages

- /pricing: full price list, no-fix-no-fee terms, travel and payments
- /about: first-person page from confirmed facts, links to area pages
- /areas/[suburb]: Te Atatū Peninsula, Te Atatū South, Henderson and
  Massey, generated from src/lib/areas.js with suburb-specific copy
- /windows-10: options page with free Windows 11 check; October 2028
  used for business Extended Security Updates
- /business: $65/month plan (2 hours, no lock-in, no rollover)
- Nav gains Pricing/About and Business/Windows 10 links; footer rebuilt
  with address, hours and links; homepage links areas, /business and
  a Windows 10 banner; sitemap includes all new routes
- Mobile menu hides by its own height (fixes overflow with more links);
  hamburger now used below 900px so the link row never overlaps

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
asownerytandClaude Opus 5.5 committed 2026-09-30 20:47:06 +13:00
1 parent 40d3a08050
commit 9f5cf387dc
13 files changed
+862 -57

No files matched your search

+57 -2
View File
@@ -72,9 +72,59 @@ export const routes = [
{ path: "/services/computer-upgrades", priority: 0.8 },
{ path: "/services/virus-removal", priority: 0.8 },
{ path: "/services/it-support", priority: 0.8 },
{ path: "/pricing", priority: 0.8 },
{ path: "/business", priority: 0.7 },
{ path: "/windows-10", priority: 0.7 },
{ path: "/about", priority: 0.6 },
{ path: "/contact", priority: 0.6 },
];
// Full price list, shown on /pricing. Labour prices; parts are extra.
export const priceList = [
{
group: "Repairs",
items: [
{ item: "Diagnosis", price: "$35" },
{ item: "Laptop screen replacement", price: "from $35 + the screen" },
{ item: "Battery, charging port or keyboard", price: "from $35 + parts" },
{ item: "Other repairs (labour)", price: "$35 an hour" },
],
},
{
group: "Upgrades & Windows",
items: [
{ item: "SSD upgrade", price: "from $45 + the drive" },
{ item: "Windows reinstall", price: "from $45" },
{ item: "Windows 11 compatibility check", price: "Free" },
{ item: "RAM, graphics card and Windows 11 upgrades", price: "from $35 + parts" },
{ item: "Custom PC build (labour)", price: "from $35" },
],
},
{
group: "Viruses, data & support",
items: [
{ item: "Virus and malware removal", price: "from $35" },
{ item: "Moving files to a new computer", price: "from $45" },
{ item: "New computer setup", price: "from $35" },
{ item: "Remote support", price: "$35 an hour" },
{ item: "Onsite support", price: "$35 an hour + travel" },
{ item: "Small business IT plan", price: "$65 a month" },
],
},
];
export const businessPlan = {
price: "$65",
hours: 2,
includes: [
"2 hours of remote or onsite support every month",
"Extra time at the normal $35 an hour",
"No lock-in contract. Cancel any time.",
],
terms:
"Unused hours don't roll over to the next month. Onsite visits have a travel fee based on distance.",
};
// Builds per-page metadata: title, description, canonical, Open Graph and Twitter.
export function pageMetadata({ title, description, path }) {
return {
@@ -146,7 +196,12 @@ export function localBusinessSchema() {
};
}
export function serviceSchema({ name, description, path }) {
export function serviceSchema({
name,
description,
path,
areas = business.serviceArea,
}) {
return {
"@context": "https://schema.org",
"@type": "Service",
@@ -155,7 +210,7 @@ export function serviceSchema({ name, description, path }) {
description,
url: `${SITE_URL}${path}`,
provider: { "@id": BUSINESS_ID },
areaServed: business.serviceArea.map((area) => ({
areaServed: areas.map((area) => ({
"@type": "Place",
name: `${area}, Auckland`,
})),