diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx index af4bf88..364ec9a 100644 --- a/src/app/about/page.tsx +++ b/src/app/about/page.tsx @@ -9,6 +9,7 @@ import Link from 'next/link'; export default function AboutPage() { const navItems = [ + { name: 'Home', id: '/' }, { name: 'Services', id: '/services' }, { name: 'About', id: '/about' }, { name: 'Reviews', id: '/reviews' }, @@ -41,8 +42,7 @@ export default function AboutPage() { - + {isLoading ? (
@@ -59,7 +58,6 @@ export default function BlogPage() { ({ - name: item.name, - href: item.id - })); - return (
@@ -70,9 +68,9 @@ export default function HomePage() { title="Why Homeowners Choose Us" description="We're built on principles of fast response, pro-level skill, integrity, clear communication, fair pricing, and 'above-and-beyond' service." features={[ - { title: "Pro-Level Skill", description: "We solve problems other plumbers miss—and we do it efficiently.", imageSrc: "https://img.b2bpic.net/free-vector/plumber-services-logo-design-template_742173-26552.jpg?_wi=1", imageAlt: "Icon representing skill" }, - { title: "Integrity You Can Feel", description: "Customers call out our honesty, professionalism, and respect in the home.", imageSrc: "https://img.b2bpic.net/free-vector/handshake-circles-set_78370-9465.jpg?_wi=1", imageAlt: "Icon representing integrity" }, - { title: "Above-and-Beyond Service", description: "If we see a second issue while fixing the first, we handle it the right way—no shortcuts.", imageSrc: "https://img.b2bpic.net/free-vector/check-mark-stars_78370-4435.jpg?_wi=1", imageAlt: "Icon representing above and beyond service" } + { title: "Pro-Level Skill", description: "We solve problems other plumbers miss—and we do it efficiently.", imageSrc: "https://img.b2bpic.net/free-vector/plumber-services-logo-design-template_742173-26552.jpg", imageAlt: "Icon representing skill" }, + { title: "Integrity You Can Feel", description: "Customers call out our honesty, professionalism, and respect in the home.", imageSrc: "https://img.b2bpic.net/free-vector/handshake-circles-set_78370-9465.jpg", imageAlt: "Icon representing integrity" }, + { title: "Above-and-Beyond Service", description: "If we see a second issue while fixing the first, we handle it the right way—no shortcuts.", imageSrc: "https://img.b2bpic.net/free-vector/check-mark-stars_78370-4435.jpg", imageAlt: "Icon representing above and beyond service" } ]} gridVariant="three-columns-all-equal-width" animationType="slide-up" @@ -90,15 +88,18 @@ export default function HomePage() { title="Plumbing Services Built for Real Life" description="From quick repairs to home upgrades, we keep your systems reliable and your home protected." features={[ - { title: "Leak Detection & Repairs", description: "Under-sink, pipe leaks, hidden drips.", imageSrc: "https://img.b2bpic.net/free-photo/male-worker-operating-machinery-factory_107420-96043.jpg?_wi=1", imageAlt: "Illustration of a leaking pipe" }, - { title: "Kitchen Plumbing", description: "Faucets, sinks, garbage disposals, drain issues.", imageSrc: "https://img.b2bpic.net/free-photo/household-repair-middle-aged-man-inspecting-pipe-touching-hand-sink-stylish-modern-kitchen_259150-58265.jpg?_wi=1", imageAlt: "Illustration of a kitchen sink and faucet" }, - { title: "Bathroom Plumbing", description: "Showers, valves, toilets, remodel support.", imageSrc: "https://img.b2bpic.net/free-photo/male-plumber-working-fix-problems-client-s-house_23-2150990698.jpg?_wi=1", imageAlt: "Illustration of a showerhead and toilet" }, + { title: "Leak Detection & Repairs", description: "Under-sink, pipe leaks, hidden drips.", imageSrc: "https://img.b2bpic.net/free-photo/male-worker-operating-machinery-factory_107420-96043.jpg", imageAlt: "Illustration of a leaking pipe" }, + { title: "Kitchen Plumbing", description: "Faucets, sinks, garbage disposals, drain issues.", imageSrc: "https://img.b2bpic.net/free-photo/household-repair-middle-aged-man-inspecting-pipe-touching-hand-sink-stylish-modern-kitchen_259150-58265.jpg", imageAlt: "Illustration of a kitchen sink and faucet" }, + { title: "Bathroom Plumbing", description: "Showers, valves, toilets, remodel support.", imageSrc: "https://img.b2bpic.net/free-photo/male-plumber-working-fix-problems-client-s-house_23-2150990698.jpg", imageAlt: "Illustration of a showerhead and toilet" }, + { title: "Water Line & Appliance Hookups", description: "Fridge water dispensers, washing machines.", imageSrc: "https://img.b2bpic.net/free-photo/portrait-handsome-male-technician-doing-work-report-broken-fridge-home-kitchen_662251-2719.jpg", imageAlt: "Illustration of a water line connection" }, + { title: "Drain Clearing", description: "Kitchen drains and clogs handled fast.", imageSrc: "https://img.b2bpic.net/free-photo/top-view-plumber-checking-kitchen-fixtures_1098-17864.jpg", imageAlt: "Illustration of a clogged drain" }, + { title: "Water Quality Upgrades", description: "Water softeners and related installs.", imageSrc: "https://img.b2bpic.net/free-photo/water-filter-with-blue-cap-blue-background_185193-165389.jpg", imageAlt: "Illustration of a water filtration system" }, + { title: "Recirculating Pumps", description: "Comfort upgrades for faster hot water.", imageSrc: "https://img.b2bpic.net/free-photo/view-plumber-working-fix-problems_23-2150990693.jpg", imageAlt: "Illustration of a water heater with pump" }, ]} gridVariant="three-columns-all-equal-width" animationType="slide-up" textboxLayout="default" useInvertedBackground={false} - buttons={[{ text: "See All Services →", href: "/services" }]} cardClassName="p-6 md:p-8" cardTitleClassName="text-lg font-semibold mt-4 mb-2" cardDescriptionClassName="text-sm text-foreground/70" @@ -111,8 +112,11 @@ export default function HomePage() { title="Homeowners Don’t Just “Recommend”—They Keep Calling Us Back." description="We're proud that customers mention the same things again and again: professionalism, thorough work, strong communication, and integrity." testimonials={[ - { id: "1", title: "“Communicative, professional, quality work, priced fairly.”", quote: "The team was incredibly communicative and professional throughout the entire process. The quality of work was exceptional, and it was all priced fairly. Highly recommend!", name: "Sarah Johnson", role: "Homeowner", imageSrc: "https://img.b2bpic.net/free-photo/smiling-businessman-standing-airport_107420-85035.jpg?_wi=1", imageAlt: "Sarah Johnson" }, - { id: "2", title: "“Shows up, gets the job done… Integrity is 100%.”", quote: "Nick and Sons Plumbing truly delivers. They show up on time, get the job done right, and their integrity is 100%. A plumber you can trust.", name: "Michael Chen", role: "Satisfied Client", imageSrc: "https://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg?_wi=1", imageAlt: "Michael Chen" } + { id: "1", title: "“Communicative, professional, quality work, priced fairly.”", quote: "The team was incredibly communicative and professional throughout the entire process. The quality of work was exceptional, and it was all priced fairly. Highly recommend!", name: "Sarah Johnson", role: "Homeowner", imageSrc: "https://img.b2bpic.net/free-photo/smiling-businessman-standing-airport_107420-85035.jpg", imageAlt: "Sarah Johnson" }, + { id: "2", title: "“Shows up, gets the job done… Integrity is 100%.”", quote: "Nick and Sons Plumbing truly delivers. They show up on time, get the job done right, and their integrity is 100%. A plumber you can trust.", name: "Michael Chen", role: "Satisfied Client", imageSrc: "https://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Michael Chen" }, + { id: "3", title: "“Fixed it in less than 10 minutes and explained the process.”", quote: "I had a persistent leak that was driving me crazy. Nick and Sons came, fixed it in less than 10 minutes, and clearly explained what caused it. Fantastic service!", name: "Emily Rodriguez", role: "Local Resident", imageSrc: "https://img.b2bpic.net/free-photo/smiling-middle-aged-attractive-woman-showing-thumb-up-outdoors_1262-12526.jpg", imageAlt: "Emily Rodriguez" }, + { id: "4", title: "“Found a second leak while fixing the first.”", quote: "They truly go above and beyond. While fixing an obvious leak, they proactively found a second, smaller one I hadn't even noticed and fixed that too. Saved me future headaches.", name: "David Kim", role: "Property Owner", imageSrc: "https://img.b2bpic.net/free-photo/smiling-african-american-man-posing-library_74855-1619.jpg", imageAlt: "David Kim" }, + { id: "5", title: "“Solved plumbing problems multiple other plumbers could not.”", quote: "I had tried several other plumbers for a complex issue, and Nick and Sons was the only one who could actually solve it. Their expertise is unmatched.", name: "Jessica Lee", role: "Grateful Customer", imageSrc: "https://img.b2bpic.net/free-photo/smiling-businessman-standing-airport_107420-85035.jpg", imageAlt: "Jessica Lee" } ]} textboxLayout="default" useInvertedBackground={false} @@ -120,7 +124,6 @@ export default function HomePage() { quoteClassName="mt-4 text-lg text-foreground/80" nameClassName="font-bold" roleClassName="text-sm text-foreground/70" - buttons={[{ text: "Read All Reviews", href: "/reviews" }]} /> @@ -155,6 +158,8 @@ export default function HomePage() { className="py-20 lg:py-28" titleClassName="text-4xl md:text-5xl lg:text-6xl font-extrabold" descriptionClassName="text-lg md:text-xl text-foreground/80 max-w-xl" + buttonClassName="mt-8" + buttonTextClassName="font-semibold" /> @@ -169,11 +174,13 @@ export default function HomePage() { ]} buttonAnimation="bounce-effect" background={{ variant: "radial-gradient" }} - useInvertedBackground={true} + useInvertedBackground={false} className="py-20 lg:py-28 text-white" titleClassName="text-4xl md:text-5xl lg:text-6xl font-extrabold text-white" descriptionClassName="text-lg md:text-xl lg:text-2xl mt-4 text-white/90 max-w-2xl mx-auto" buttonContainerClassName="flex flex-wrap justify-center gap-4 mt-8" + buttonClassName="min-w-[180px]" + buttonTextClassName="font-semibold" /> diff --git a/src/app/reviews/page.tsx b/src/app/reviews/page.tsx index bdd90df..3c136c2 100644 --- a/src/app/reviews/page.tsx +++ b/src/app/reviews/page.tsx @@ -10,6 +10,7 @@ import Link from 'next/link'; export default function ReviewsPage() { const navItems = [ + { name: 'Home', id: '/' }, { name: 'Services', id: '/services' }, { name: 'About', id: '/about' }, { name: 'Reviews', id: '/reviews' }, @@ -43,11 +44,11 @@ export default function ReviewsPage() { title="Homeowners Don’t Just “Recommend”—They Keep Calling Us Back." description="We're proud that customers mention the same things again and again: professionalism, thorough work, strong communication, and integrity." testimonials={[ - { id: "1", title: "“Communicative, professional, quality work, priced fairly.”", quote: "The team was incredibly communicative and professional throughout the entire process. The quality of work was exceptional, and it was all priced fairly. Highly recommend!", name: "Sarah Johnson", role: "Homeowner", imageSrc: "https://img.b2bpic.net/free-photo/smiling-businessman-standing-airport_107420-85035.jpg?_wi=2", imageAlt: "Sarah Johnson" }, - { id: "2", title: "“Shows up, gets the job done… Integrity is 100%.”", quote: "Nick and Sons Plumbing truly delivers. They show up on time, get the job done right, and their integrity is 100%. A plumber you can trust.", name: "Michael Chen", role: "Satisfied Client", imageSrc: "https://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg?_wi=2", imageAlt: "Michael Chen" }, + { id: "1", title: "“Communicative, professional, quality work, priced fairly.”", quote: "The team was incredibly communicative and professional throughout the entire process. The quality of work was exceptional, and it was all priced fairly. Highly recommend!", name: "Sarah Johnson", role: "Homeowner", imageSrc: "https://img.b2bpic.net/free-photo/smiling-businessman-standing-airport_107420-85035.jpg", imageAlt: "Sarah Johnson" }, + { id: "2", title: "“Shows up, gets the job done… Integrity is 100%.”", quote: "Nick and Sons Plumbing truly delivers. They show up on time, get the job done right, and their integrity is 100%. A plumber you can trust.", name: "Michael Chen", role: "Satisfied Client", imageSrc: "https://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Michael Chen" }, { id: "3", title: "“Fixed it in less than 10 minutes and explained the process.”", quote: "I had a persistent leak that was driving me crazy. Nick and Sons came, fixed it in less than 10 minutes, and clearly explained what caused it. Fantastic service!", name: "Emily Rodriguez", role: "Local Resident", imageSrc: "https://img.b2bpic.net/free-photo/smiling-middle-aged-attractive-woman-showing-thumb-up-outdoors_1262-12526.jpg", imageAlt: "Emily Rodriguez" }, { id: "4", title: "“Found a second leak while fixing the first.”", quote: "They truly go above and beyond. While fixing an obvious leak, they proactively found a second, smaller one I hadn't even noticed and fixed that too. Saved me future headaches.", name: "David Kim", role: "Property Owner", imageSrc: "https://img.b2bpic.net/free-photo/smiling-african-american-man-posing-library_74855-1619.jpg", imageAlt: "David Kim" }, - { id: "5", title: "“Solved plumbing problems multiple other plumbers could not.”", quote: "I had tried several other plumbers for a complex issue, and Nick and Sons was the only one who could actually solve it. Their expertise is unmatched.", name: "Jessica Lee", role: "Grateful Customer", imageSrc: "https://img.b2bpic.net/free-photo/smiling-businessman-standing-airport_107420-85035.jpg?_wi=3", imageAlt: "Jessica Lee" } + { id: "5", title: "“Solved plumbing problems multiple other plumbers could not.”", quote: "I had tried several other plumbers for a complex issue, and Nick and Sons was the only one who could actually solve it. Their expertise is unmatched.", name: "Jessica Lee", role: "Grateful Customer", imageSrc: "https://img.b2bpic.net/free-photo/smiling-businessman-standing-airport_107420-85035.jpg", imageAlt: "Jessica Lee" } ]} textboxLayout="default" useInvertedBackground={false} diff --git a/src/app/services/page.tsx b/src/app/services/page.tsx index 01b3f83..2ede3b0 100644 --- a/src/app/services/page.tsx +++ b/src/app/services/page.tsx @@ -10,6 +10,7 @@ import Link from 'next/link'; export default function ServicesPage() { const navItems = [ + { name: 'Home', id: '/' }, { name: 'Services', id: '/services' }, { name: 'About', id: '/about' }, { name: 'Reviews', id: '/reviews' }, @@ -54,9 +55,9 @@ export default function ServicesPage() { title="Our Full Service List" description="Explore our full range of services designed to keep your home running smoothly." features={[ - { title: "Leak Detection & Repairs", description: "Under-sink, pipe leaks, hidden drips. We find and fix them fast.", imageSrc: "https://img.b2bpic.net/free-photo/male-worker-operating-machinery-factory_107420-96043.jpg?_wi=2", imageAlt: "Illustration of a leaking pipe" }, - { title: "Kitchen Plumbing", description: "Faucets, sinks, garbage disposals, and drain issues handled by experts.", imageSrc: "https://img.b2bpic.net/free-photo/household-repair-middle-aged-man-inspecting-pipe-touching-hand-sink-stylish-modern-kitchen_259150-58265.jpg?_wi=2", imageAlt: "Illustration of a kitchen sink and faucet" }, - { title: "Bathroom Plumbing", description: "Showers, valves, toilets, and full support for bathroom remodels.", imageSrc: "https://img.b2bpic.net/free-photo/male-plumber-working-fix-problems-client-s-house_23-2150990698.jpg?_wi=2", imageAlt: "Illustration of a showerhead and toilet" }, + { title: "Leak Detection & Repairs", description: "Under-sink, pipe leaks, hidden drips. We find and fix them fast.", imageSrc: "https://img.b2bpic.net/free-photo/male-worker-operating-machinery-factory_107420-96043.jpg", imageAlt: "Illustration of a leaking pipe" }, + { title: "Kitchen Plumbing", description: "Faucets, sinks, garbage disposals, and drain issues handled by experts.", imageSrc: "https://img.b2bpic.net/free-photo/household-repair-middle-aged-man-inspecting-pipe-touching-hand-sink-stylish-modern-kitchen_259150-58265.jpg", imageAlt: "Illustration of a kitchen sink and faucet" }, + { title: "Bathroom Plumbing", description: "Showers, valves, toilets, and full support for bathroom remodels.", imageSrc: "https://img.b2bpic.net/free-photo/male-plumber-working-fix-problems-client-s-house_23-2150990698.jpg", imageAlt: "Illustration of a showerhead and toilet" }, { title: "Water Line & Appliance Hookups", description: "Fridge water dispensers, washing machines, and new water lines.", imageSrc: "https://img.b2bpic.net/free-photo/portrait-handsome-male-technician-doing-work-report-broken-fridge-home-kitchen_662251-2719.jpg", imageAlt: "Illustration of a water line connection" }, { title: "Drain Clearing", description: "Stubborn kitchen drains and clogs are no match for our professional tools.", imageSrc: "https://img.b2bpic.net/free-photo/top-view-plumber-checking-kitchen-fixtures_1098-17864.jpg", imageAlt: "Illustration of a clogged drain" }, { title: "Water Quality Upgrades", description: "Improve your water with water softeners and filtration system installations.", imageSrc: "https://img.b2bpic.net/free-photo/water-filter-with-blue-cap-blue-background_185193-165389.jpg", imageAlt: "Illustration of a water filtration system" }, diff --git a/src/app/shop/[id]/page.tsx b/src/app/shop/[id]/page.tsx index 33d75a1..b72e486 100644 --- a/src/app/shop/[id]/page.tsx +++ b/src/app/shop/[id]/page.tsx @@ -1,4 +1,4 @@ -use client"; +"use client"; import { Suspense, use, useCallback } from "react"; import { useRouter } from "next/navigation"; @@ -74,6 +74,14 @@ function ProductPageContent({ params }: ProductPageProps) { await checkout(getCheckoutItems(), { successUrl: currentUrl.toString() }); }, [cartItems, checkout, getCheckoutItems]); + const navItems = [ + { name: 'Home', id: '/' }, + { name: 'Services', id: '/services' }, + { name: 'About', id: '/about' }, + { name: 'Reviews', id: '/reviews' }, + { name: 'Contact', id: '/contact' } + ]; + if (isLoading) { return ( setCartOpen(true) }} className="py-4 lg:py-6" - containerClassName="relative z-50" - buttonClassName="ml-4 text-white hover:text-white bg-primary-cta hover:bg-primary-cta/90 border-transparent rounded-full px-6 py-2 shadow-lg hover:shadow-xl transition-all duration-300" - buttonTextClassName="font-semibold" />
@@ -117,8 +114,6 @@ function ProductPageContent({ params }: ProductPageProps) { setCartOpen(true) }} className="py-4 lg:py-6" - containerClassName="relative z-50" - buttonClassName="ml-4 text-white hover:text-white bg-primary-cta hover:bg-primary-cta/90 border-transparent rounded-full px-6 py-2 shadow-lg hover:shadow-xl transition-all duration-300" - buttonTextClassName="font-semibold" />
@@ -181,8 +165,6 @@ function ProductPageContent({ params }: ProductPageProps) { setCartOpen(true) }} className="py-4 lg:py-6" - containerClassName="relative z-50" - buttonClassName="ml-4 text-white hover:text-white bg-primary-cta hover:bg-primary-cta/90 border-transparent rounded-full px-6 py-2 shadow-lg hover:shadow-xl transition-all duration-300" - buttonTextClassName="font-semibold" />
@@ -267,8 +238,6 @@ function ProductPageContent({ params }: ProductPageProps) { setCartOpen(true) }} className="py-4 lg:py-6" - containerClassName="relative z-50" - buttonClassName="ml-4 text-white hover:text-white bg-primary-cta hover:bg-primary-cta/90 border-transparent rounded-full px-6 py-2 shadow-lg hover:shadow-xl transition-all duration-300" - buttonTextClassName="font-semibold" />
@@ -84,8 +81,6 @@ export default function ShopPage() { setCartOpen(true) }} className="py-4 lg:py-6" - containerClassName="relative z-50" - buttonClassName="ml-4 text-white hover:text-white bg-primary-cta hover:bg-primary-cta/90 border-transparent rounded-full px-6 py-2 shadow-lg hover:shadow-xl transition-all duration-300" - buttonTextClassName="font-semibold" />
@@ -160,8 +144,6 @@ export default function ShopPage() {