Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ae80d86a23 | |||
| e015d14af6 | |||
| 1d7632e9bc | |||
| f856532566 | |||
| 6f0751d934 | |||
| 1ff3e84302 | |||
| ec6ac62d5f | |||
| 84f278e0e3 | |||
| abcbf378c7 | |||
| 08f6c32bc9 | |||
| 4974c227ca | |||
| 4b367f9395 | |||
| e96f57f06b |
@@ -5,30 +5,31 @@ import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloating
|
|||||||
import SplitAbout from "@/components/sections/about/SplitAbout";
|
import SplitAbout from "@/components/sections/about/SplitAbout";
|
||||||
import TestimonialCardTen from "@/components/sections/testimonial/TestimonialCardTen";
|
import TestimonialCardTen from "@/components/sections/testimonial/TestimonialCardTen";
|
||||||
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
|
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
|
||||||
|
import Link from "next/link";
|
||||||
import { Clock, Award, Star, DollarSign, Zap, Heart } from "lucide-react";
|
import { Clock, Award, Star, DollarSign, Zap, Heart } from "lucide-react";
|
||||||
|
|
||||||
export default function AboutPage() {
|
export default function AboutPage() {
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
defaultButtonVariant="hover-bubble"
|
defaultButtonVariant="hover-magnetic"
|
||||||
defaultTextAnimation="background-highlight"
|
defaultTextAnimation="reveal-blur"
|
||||||
borderRadius="soft"
|
borderRadius="rounded"
|
||||||
contentWidth="medium"
|
contentWidth="medium"
|
||||||
sizing="mediumLargeSizeLargeTitles"
|
sizing="mediumLargeSizeLargeTitles"
|
||||||
background="grid"
|
background="none"
|
||||||
cardStyle="gradient-bordered"
|
cardStyle="solid"
|
||||||
primaryButtonStyle="flat"
|
primaryButtonStyle="gradient"
|
||||||
secondaryButtonStyle="glass"
|
secondaryButtonStyle="glass"
|
||||||
headingFontWeight="normal"
|
headingFontWeight="semibold"
|
||||||
>
|
>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
brandName="VanPro Plumbing"
|
brandName="VanPro Plumbing"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Services", id: "/services" },
|
{ name: "Services", id: "/services" },
|
||||||
{ name: "About", id: "about-story" },
|
{ name: "About", id: "/about" },
|
||||||
{ name: "Reviews", id: "about-testimonials" },
|
{ name: "Reviews", id: "#reviews" },
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Contact", id: "/contact" },
|
||||||
]}
|
]}
|
||||||
button={{
|
button={{
|
||||||
text: "Call Now", href: "tel:+1-604-618-4988"}}
|
text: "Call Now", href: "tel:+1-604-618-4988"}}
|
||||||
@@ -67,7 +68,7 @@ export default function AboutPage() {
|
|||||||
"We're part of the Vancouver community and take pride in serving our neighbors with excellence.", icon: Zap,
|
"We're part of the Vancouver community and take pride in serving our neighbors with excellence.", icon: Zap,
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/front-view-male-mechanic-leaning-car_23-2148327555.jpg"
|
imageSrc="http://img.b2bpic.net/free-photo/front-view-male-mechanic-leaning-car_23-2148327555.jpg?_wi=2"
|
||||||
imageAlt="VanPro Plumbing professional team and van"
|
imageAlt="VanPro Plumbing professional team and van"
|
||||||
mediaAnimation="blur-reveal"
|
mediaAnimation="blur-reveal"
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
@@ -91,15 +92,15 @@ export default function AboutPage() {
|
|||||||
{
|
{
|
||||||
id: "1", title: "Professional Emergency Response", quote:
|
id: "1", title: "Professional Emergency Response", quote:
|
||||||
"When our pipe burst at 2 AM on a Sunday, VanPro was here in 45 minutes. Professional, efficient, and fixed the problem immediately. They saved us from serious water damage.", name: "Sarah Mitchell", role: "Vancouver Homeowner", imageSrc:
|
"When our pipe burst at 2 AM on a Sunday, VanPro was here in 45 minutes. Professional, efficient, and fixed the problem immediately. They saved us from serious water damage.", name: "Sarah Mitchell", role: "Vancouver Homeowner", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/closeup-shot-handsome-male-smiling_181624-41237.jpg", imageAlt: "Sarah Mitchell"},
|
"http://img.b2bpic.net/free-photo/closeup-shot-handsome-male-smiling_181624-41237.jpg?_wi=2", imageAlt: "Sarah Mitchell"},
|
||||||
{
|
{
|
||||||
id: "2", title: "Honest and Fair Service", quote:
|
id: "2", title: "Honest and Fair Service", quote:
|
||||||
"I was worried about getting overcharged. VanPro explained exactly what was needed, gave me a fair quote, and did quality work. No surprises, just honest service.", name: "Michael Chen", role: "Burnaby Property Manager", imageSrc:
|
"I was worried about getting overcharged. VanPro explained exactly what was needed, gave me a fair quote, and did quality work. No surprises, just honest service.", name: "Michael Chen", role: "Burnaby Property Manager", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/smiling-beautiful-middle-aged-business-woman_1262-3085.jpg", imageAlt: "Michael Chen"},
|
"http://img.b2bpic.net/free-photo/smiling-beautiful-middle-aged-business-woman_1262-3085.jpg?_wi=3", imageAlt: "Michael Chen"},
|
||||||
{
|
{
|
||||||
id: "3", title: "True Professionalism", quote:
|
id: "3", title: "True Professionalism", quote:
|
||||||
"The technician knew exactly what he was doing. Certified professional, courteous, cleaned up after himself. This is what true professionalism looks like.", name: "Emily Rodriguez", role: "West Vancouver Homeowner", imageSrc:
|
"The technician knew exactly what he was doing. Certified professional, courteous, cleaned up after himself. This is what true professionalism looks like.", name: "Emily Rodriguez", role: "West Vancouver Homeowner", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Emily Rodriguez"},
|
"http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg?_wi=4", imageAlt: "Emily Rodriguez"},
|
||||||
]}
|
]}
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
@@ -114,7 +115,7 @@ export default function AboutPage() {
|
|||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Call Emergency", href: "tel:+1-604-618-4988" },
|
{ label: "Call Emergency", href: "tel:+1-604-618-4988" },
|
||||||
{ label: "Get Free Estimate", href: "#" },
|
{ label: "Get Free Estimate", href: "/contact" },
|
||||||
{
|
{
|
||||||
label: "$100 Off Camera Inspection", href: "/services"},
|
label: "$100 Off Camera Inspection", href: "/services"},
|
||||||
],
|
],
|
||||||
@@ -122,8 +123,8 @@ export default function AboutPage() {
|
|||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Services", href: "/services" },
|
{ label: "Services", href: "/services" },
|
||||||
{ label: "About Us", href: "#about-story" },
|
{ label: "About Us", href: "/about" },
|
||||||
{ label: "Reviews", href: "#about-testimonials" },
|
{ label: "Reviews", href: "/" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -131,7 +132,7 @@ export default function AboutPage() {
|
|||||||
{
|
{
|
||||||
label: "Emergency Service", href: "tel:+1-604-618-4988"},
|
label: "Emergency Service", href: "tel:+1-604-618-4988"},
|
||||||
{ label: "Service Areas", href: "#" },
|
{ label: "Service Areas", href: "#" },
|
||||||
{ label: "Contact", href: "#" },
|
{ label: "Contact", href: "/contact" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -147,4 +148,4 @@ export default function AboutPage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,21 +5,22 @@ import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloating
|
|||||||
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
||||||
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
|
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
|
||||||
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
|
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
|
||||||
|
import Link from "next/link";
|
||||||
import { Phone } from "lucide-react";
|
import { Phone } from "lucide-react";
|
||||||
|
|
||||||
export default function ContactPage() {
|
export default function ContactPage() {
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
defaultButtonVariant="hover-bubble"
|
defaultButtonVariant="hover-magnetic"
|
||||||
defaultTextAnimation="background-highlight"
|
defaultTextAnimation="reveal-blur"
|
||||||
borderRadius="soft"
|
borderRadius="rounded"
|
||||||
contentWidth="medium"
|
contentWidth="medium"
|
||||||
sizing="mediumLargeSizeLargeTitles"
|
sizing="mediumLargeSizeLargeTitles"
|
||||||
background="grid"
|
background="none"
|
||||||
cardStyle="gradient-bordered"
|
cardStyle="solid"
|
||||||
primaryButtonStyle="flat"
|
primaryButtonStyle="gradient"
|
||||||
secondaryButtonStyle="glass"
|
secondaryButtonStyle="glass"
|
||||||
headingFontWeight="normal"
|
headingFontWeight="semibold"
|
||||||
>
|
>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
@@ -27,8 +28,8 @@ export default function ContactPage() {
|
|||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Services", id: "/services" },
|
{ name: "Services", id: "/services" },
|
||||||
{ name: "About", id: "/about" },
|
{ name: "About", id: "/about" },
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Reviews", id: "#reviews" },
|
||||||
{ name: "Call Now", id: "tel:+1-604-618-4988" },
|
{ name: "Contact", id: "/contact" },
|
||||||
]}
|
]}
|
||||||
button={{
|
button={{
|
||||||
text: "Call Now", href: "tel:+1-604-618-4988"}}
|
text: "Call Now", href: "tel:+1-604-618-4988"}}
|
||||||
@@ -108,7 +109,7 @@ export default function ContactPage() {
|
|||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Call Emergency", href: "tel:+1-604-618-4988" },
|
{ label: "Call Emergency", href: "tel:+1-604-618-4988" },
|
||||||
{ label: "Get Free Estimate", href: "#contact" },
|
{ label: "Get Free Estimate", href: "/contact" },
|
||||||
{
|
{
|
||||||
label: "$100 Off Camera Inspection", href: "/services"},
|
label: "$100 Off Camera Inspection", href: "/services"},
|
||||||
],
|
],
|
||||||
@@ -125,7 +126,7 @@ export default function ContactPage() {
|
|||||||
{
|
{
|
||||||
label: "Emergency Service", href: "tel:+1-604-618-4988"},
|
label: "Emergency Service", href: "tel:+1-604-618-4988"},
|
||||||
{ label: "Service Areas", href: "#" },
|
{ label: "Service Areas", href: "#" },
|
||||||
{ label: "Contact", href: "#contact" },
|
{ label: "Contact", href: "/contact" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -141,4 +142,4 @@ export default function ContactPage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import type { Metadata } from "next";
|
import type { Metadata } from "next";
|
||||||
import { Mulish } from "next/font/google";
|
import { Inter } from "next/font/google";
|
||||||
import "./globals.css";
|
import "./globals.css";
|
||||||
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
import { ServiceWrapper } from "@/components/ServiceWrapper";
|
||||||
import Tag from "@/tag/Tag";
|
import Tag from "@/tag/Tag";
|
||||||
|
|
||||||
const mulish = Mulish({
|
const inter = Inter({
|
||||||
variable: "--font-mulish", subsets: ["latin"],
|
variable: "--font-inter", subsets: ["latin"],
|
||||||
});
|
});
|
||||||
|
|
||||||
export const metadata: Metadata = {
|
export const metadata: Metadata = {
|
||||||
@@ -35,7 +35,7 @@ export default function RootLayout({
|
|||||||
return (
|
return (
|
||||||
<html lang="en" suppressHydrationWarning>
|
<html lang="en" suppressHydrationWarning>
|
||||||
<ServiceWrapper>
|
<ServiceWrapper>
|
||||||
<body className={`${mulish.variable} antialiased`}>
|
<body className={`${inter.variable} antialiased`}>
|
||||||
<Tag />
|
<Tag />
|
||||||
{children}
|
{children}
|
||||||
|
|
||||||
@@ -1409,4 +1409,4 @@ export default function RootLayout({
|
|||||||
</ServiceWrapper>
|
</ServiceWrapper>
|
||||||
</html>
|
</html>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,32 +7,32 @@ import FeatureCardOne from "@/components/sections/feature/FeatureCardOne";
|
|||||||
import SplitAbout from "@/components/sections/about/SplitAbout";
|
import SplitAbout from "@/components/sections/about/SplitAbout";
|
||||||
import TestimonialCardTen from "@/components/sections/testimonial/TestimonialCardTen";
|
import TestimonialCardTen from "@/components/sections/testimonial/TestimonialCardTen";
|
||||||
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
||||||
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
|
|
||||||
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
|
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
|
||||||
|
import Link from "next/link";
|
||||||
import { Clock, Award, Star, DollarSign, Zap, Phone } from "lucide-react";
|
import { Clock, Award, Star, DollarSign, Zap, Phone } from "lucide-react";
|
||||||
|
|
||||||
export default function HomePage() {
|
export default function HomePage() {
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
defaultButtonVariant="hover-bubble"
|
defaultButtonVariant="hover-magnetic"
|
||||||
defaultTextAnimation="background-highlight"
|
defaultTextAnimation="reveal-blur"
|
||||||
borderRadius="soft"
|
borderRadius="rounded"
|
||||||
contentWidth="medium"
|
contentWidth="medium"
|
||||||
sizing="mediumLargeSizeLargeTitles"
|
sizing="mediumLargeSizeLargeTitles"
|
||||||
background="grid"
|
background="none"
|
||||||
cardStyle="gradient-bordered"
|
cardStyle="solid"
|
||||||
primaryButtonStyle="flat"
|
primaryButtonStyle="gradient"
|
||||||
secondaryButtonStyle="glass"
|
secondaryButtonStyle="glass"
|
||||||
headingFontWeight="normal"
|
headingFontWeight="semibold"
|
||||||
>
|
>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
brandName="VanPro Plumbing"
|
brandName="VanPro Plumbing"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Services", id: "services" },
|
{ name: "Services", id: "/services" },
|
||||||
{ name: "Why Us", id: "why-us" },
|
{ name: "About", id: "/about" },
|
||||||
{ name: "Reviews", id: "reviews" },
|
{ name: "Reviews", id: "#reviews" },
|
||||||
{ name: "Emergency", id: "emergency" },
|
{ name: "Contact", id: "/contact" },
|
||||||
]}
|
]}
|
||||||
button={{
|
button={{
|
||||||
text: "Call Now", href: "tel:+1-604-618-4988"}}
|
text: "Call Now", href: "tel:+1-604-618-4988"}}
|
||||||
@@ -44,7 +44,7 @@ export default function HomePage() {
|
|||||||
<HeroCentered
|
<HeroCentered
|
||||||
title="Vancouver's 5-Star Rated 24/7 Plumbing Experts"
|
title="Vancouver's 5-Star Rated 24/7 Plumbing Experts"
|
||||||
description="Drains, Sewer & Plumbing Services Done Right the First Time. Red Seal Certified Professionals • Same-Day Solutions • Upfront Pricing"
|
description="Drains, Sewer & Plumbing Services Done Right the First Time. Red Seal Certified Professionals • Same-Day Solutions • Upfront Pricing"
|
||||||
background={{ variant: "downward-rays-static" }}
|
background={{ variant: "plain" }}
|
||||||
avatars={[
|
avatars={[
|
||||||
{
|
{
|
||||||
src: "http://img.b2bpic.net/free-photo/builder-man-wearing-construction-uniform-standing-with-arms-crossed-with-confident-smile-isolated-orange-wall_141793-14478.jpg", alt: "VanPro certified technician"},
|
src: "http://img.b2bpic.net/free-photo/builder-man-wearing-construction-uniform-standing-with-arms-crossed-with-confident-smile-isolated-orange-wall_141793-14478.jpg", alt: "VanPro certified technician"},
|
||||||
@@ -54,7 +54,7 @@ export default function HomePage() {
|
|||||||
avatarText="Trusted by 629+ Homeowners (5.0 Rating)"
|
avatarText="Trusted by 629+ Homeowners (5.0 Rating)"
|
||||||
buttons={[
|
buttons={[
|
||||||
{ text: "Call Now (604) 618-4988", href: "tel:+1-604-618-4988" },
|
{ text: "Call Now (604) 618-4988", href: "tel:+1-604-618-4988" },
|
||||||
{ text: "Get Free Estimate", href: "#contact" },
|
{ text: "Get Free Estimate", href: "/contact" },
|
||||||
]}
|
]}
|
||||||
buttonAnimation="slide-up"
|
buttonAnimation="slide-up"
|
||||||
ariaLabel="Hero section - VanPro Plumbing services"
|
ariaLabel="Hero section - VanPro Plumbing services"
|
||||||
@@ -75,22 +75,22 @@ export default function HomePage() {
|
|||||||
{
|
{
|
||||||
title: "Drain Cleaning", description:
|
title: "Drain Cleaning", description:
|
||||||
"Fast, professional drain cleaning for clogs, backups, and slow drains. Equipment includes high-pressure jetting.", imageSrc:
|
"Fast, professional drain cleaning for clogs, backups, and slow drains. Equipment includes high-pressure jetting.", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/girl-s-hand-filling-cup-with-water_23-2147824128.jpg", imageAlt: "Professional drain cleaning service", button: { text: "Learn More", href: "/services" },
|
"http://img.b2bpic.net/free-photo/girl-s-hand-filling-cup-with-water_23-2147824128.jpg?_wi=1", imageAlt: "Professional drain cleaning service", button: { text: "Learn More", href: "/services/drain-cleaning" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "$100 Off Camera Inspection", description:
|
title: "$100 Off Camera Inspection", description:
|
||||||
"Advanced sewer camera inspection to diagnose issues accurately. See exactly what's wrong before expensive repairs.", imageSrc:
|
"Advanced sewer camera inspection to diagnose issues accurately. See exactly what's wrong before expensive repairs.", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/shot-oilfield-worker-checking-quality-gas-pipes-construction-site_342744-363.jpg", imageAlt: "Sewer camera inspection technology", button: { text: "Book Now", href: "tel:+1-604-618-4988" },
|
"http://img.b2bpic.net/free-photo/shot-oilfield-worker-checking-quality-gas-pipes-construction-site_342744-363.jpg?_wi=1", imageAlt: "Sewer camera inspection technology", button: { text: "Book Now", href: "tel:+1-604-618-4988" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Emergency Plumbing", description:
|
title: "Emergency Plumbing", description:
|
||||||
"24/7 emergency response for burst pipes, floods, and urgent issues. Available nights, weekends, and holidays.", imageSrc:
|
"24/7 emergency response for burst pipes, floods, and urgent issues. Available nights, weekends, and holidays.", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/distraught-car-mechanic-going-through-problematic-paperwork-with-his-manager-auto-repair-shop_637285-7584.jpg", imageAlt: "Emergency plumbing repair service", button: { text: "Get Help Now", href: "tel:+1-604-618-4988" },
|
"http://img.b2bpic.net/free-photo/distraught-car-mechanic-going-through-problematic-paperwork-with-his-manager-auto-repair-shop_637285-7584.jpg?_wi=1", imageAlt: "Emergency plumbing repair service", button: { text: "Get Help Now", href: "tel:+1-604-618-4988" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Water Heater Replacement", description:
|
title: "Water Heater Replacement", description:
|
||||||
"Professional water heater installation and replacement. Same-day service available on select units.", imageSrc:
|
"Professional water heater installation and replacement. Same-day service available on select units.", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/worker-repairing-water-heater_23-2149334225.jpg", imageAlt: "Water heater replacement and installation", button: { text: "Get Quote", href: "#contact" },
|
"http://img.b2bpic.net/free-photo/worker-repairing-water-heater_23-2149334225.jpg?_wi=1", imageAlt: "Water heater replacement and installation", button: { text: "Get Quote", href: "/contact" },
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
gridVariant="two-columns-alternating-heights"
|
gridVariant="two-columns-alternating-heights"
|
||||||
@@ -133,7 +133,7 @@ export default function HomePage() {
|
|||||||
title: "Locally Owned", description:
|
title: "Locally Owned", description:
|
||||||
"We're part of the Vancouver community and take pride in serving our neighbors right."},
|
"We're part of the Vancouver community and take pride in serving our neighbors right."},
|
||||||
]}
|
]}
|
||||||
imageSrc="http://img.b2bpic.net/free-photo/front-view-male-mechanic-leaning-car_23-2148327555.jpg"
|
imageSrc="http://img.b2bpic.net/free-photo/front-view-male-mechanic-leaning-car_23-2148327555.jpg?_wi=1"
|
||||||
imageAlt="VanPro Plumbing professional team"
|
imageAlt="VanPro Plumbing professional team"
|
||||||
mediaAnimation="blur-reveal"
|
mediaAnimation="blur-reveal"
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
@@ -156,27 +156,27 @@ export default function HomePage() {
|
|||||||
{
|
{
|
||||||
id: "1", title: "Outstanding Emergency Response", quote:
|
id: "1", title: "Outstanding Emergency Response", quote:
|
||||||
"When our pipe burst at 2 AM on a Sunday, VanPro was here in 45 minutes. The technician was professional, efficient, and fixed the problem immediately. Saved us from serious water damage!", name: "Sarah Mitchell", role: "Homeowner, Vancouver", imageSrc:
|
"When our pipe burst at 2 AM on a Sunday, VanPro was here in 45 minutes. The technician was professional, efficient, and fixed the problem immediately. Saved us from serious water damage!", name: "Sarah Mitchell", role: "Homeowner, Vancouver", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/closeup-shot-handsome-male-smiling_181624-41237.jpg", imageAlt: "Sarah Mitchell"},
|
"http://img.b2bpic.net/free-photo/closeup-shot-handsome-male-smiling_181624-41237.jpg?_wi=1", imageAlt: "Sarah Mitchell"},
|
||||||
{
|
{
|
||||||
id: "2", title: "Honest and Fair Pricing", quote:
|
id: "2", title: "Honest and Fair Pricing", quote:
|
||||||
"I was worried about getting overcharged for the repair. VanPro explained exactly what was needed, gave me a fair quote, and did quality work. No surprises, just great service.", name: "Michael Chen", role: "Property Manager, Burnaby", imageSrc:
|
"I was worried about getting overcharged for the repair. VanPro explained exactly what was needed, gave me a fair quote, and did quality work. No surprises, just great service.", name: "Michael Chen", role: "Property Manager, Burnaby", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/smiling-beautiful-middle-aged-business-woman_1262-3085.jpg", imageAlt: "Michael Chen"},
|
"http://img.b2bpic.net/free-photo/smiling-beautiful-middle-aged-business-woman_1262-3085.jpg?_wi=1", imageAlt: "Michael Chen"},
|
||||||
{
|
{
|
||||||
id: "3", title: "Red Seal Certified Excellence", quote:
|
id: "3", title: "Red Seal Certified Excellence", quote:
|
||||||
"The technician knew exactly what he was doing. Certified professional, courteous, cleaned up after himself. This is what true professionalism looks like.", name: "Emily Rodriguez", role: "Homeowner, West Vancouver", imageSrc:
|
"The technician knew exactly what he was doing. Certified professional, courteous, cleaned up after himself. This is what true professionalism looks like.", name: "Emily Rodriguez", role: "Homeowner, West Vancouver", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Emily Rodriguez"},
|
"http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg?_wi=1", imageAlt: "Emily Rodriguez"},
|
||||||
{
|
{
|
||||||
id: "4", title: "Same-Day Solution", quote:
|
id: "4", title: "Same-Day Solution", quote:
|
||||||
"Called in the morning about a drain issue. They came that afternoon and fixed it completely. Fast, reliable, and worth every penny.", name: "David Kim", role: "Homeowner, East Vancouver", imageSrc:
|
"Called in the morning about a drain issue. They came that afternoon and fixed it completely. Fast, reliable, and worth every penny.", name: "David Kim", role: "Homeowner, East Vancouver", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "David Kim"},
|
"http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg?_wi=2", imageAlt: "David Kim"},
|
||||||
{
|
{
|
||||||
id: "5", title: "Camera Inspection Was Thorough", quote:
|
id: "5", title: "Camera Inspection Was Thorough", quote:
|
||||||
"The $100 off camera inspection was perfect for diagnosing the problem. They showed me exactly what was wrong and explained my options clearly.", name: "Jennifer Walsh", role: "Homeowner, North Shore", imageSrc:
|
"The $100 off camera inspection was perfect for diagnosing the problem. They showed me exactly what was wrong and explained my options clearly.", name: "Jennifer Walsh", role: "Homeowner, North Shore", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Jennifer Walsh"},
|
"http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg?_wi=3", imageAlt: "Jennifer Walsh"},
|
||||||
{
|
{
|
||||||
id: "6", title: "Professional from Start to Finish", quote:
|
id: "6", title: "Professional from Start to Finish", quote:
|
||||||
"Every interaction was professional. Punctual arrival, clean work, transparent communication. I'd recommend VanPro to anyone needing plumbing services.", name: "Robert Thompson", role: "Property Owner, Coquitlam", imageSrc:
|
"Every interaction was professional. Punctual arrival, clean work, transparent communication. I'd recommend VanPro to anyone needing plumbing services.", name: "Robert Thompson", role: "Property Owner, Coquitlam", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/smiling-beautiful-middle-aged-business-woman_1262-3085.jpg", imageAlt: "Robert Thompson"},
|
"http://img.b2bpic.net/free-photo/smiling-beautiful-middle-aged-business-woman_1262-3085.jpg?_wi=2", imageAlt: "Robert Thompson"},
|
||||||
]}
|
]}
|
||||||
textboxLayout="default"
|
textboxLayout="default"
|
||||||
useInvertedBackground={false}
|
useInvertedBackground={false}
|
||||||
@@ -217,38 +217,6 @@ export default function HomePage() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="faq" data-section="faq">
|
|
||||||
<FaqSplitText
|
|
||||||
sideTitle="Common Plumbing Questions"
|
|
||||||
sideDescription="Find answers to the questions homeowners ask us most often about plumbing repairs, maintenance, and our services."
|
|
||||||
faqs={[
|
|
||||||
{
|
|
||||||
id: "1", title: "What should I do if I have a pipe burst?", content:
|
|
||||||
"First, shut off the main water valve immediately to stop water flow. Then call VanPro Plumbing right away at (604) 618-4988. We provide 24/7 emergency response to minimize water damage."},
|
|
||||||
{
|
|
||||||
id: "2", title: "How often should I get my drains cleaned?", content:
|
|
||||||
"Most homes benefit from professional drain cleaning every 1-2 years as preventative maintenance. If you're experiencing slow drains or backups, we should evaluate your system immediately."},
|
|
||||||
{
|
|
||||||
id: "3", title: "What's included in a camera inspection?", content:
|
|
||||||
"Our camera inspection uses advanced technology to see inside your sewer lines. We identify clogs, cracks, tree root intrusion, and other problems without digging. Get $100 off this service!"},
|
|
||||||
{
|
|
||||||
id: "4", title: "How long does a water heater last?", content:
|
|
||||||
"Traditional tank water heaters typically last 8-12 years. If yours is over 10 years old or showing signs of failure, replacement may be more cost-effective than repair."},
|
|
||||||
{
|
|
||||||
id: "5", title: "Do you warranty your work?", content:
|
|
||||||
"Yes, all our work is backed by our satisfaction guarantee. If you're not happy, we'll make it right at no additional cost."},
|
|
||||||
{
|
|
||||||
id: "6", title: "Can you help with slow drains?", content:
|
|
||||||
"Absolutely. Slow drains often indicate buildup or blockages. We use professional equipment to clear the issue completely, not just temporarily."},
|
|
||||||
]}
|
|
||||||
textPosition="left"
|
|
||||||
useInvertedBackground={false}
|
|
||||||
animationType="smooth"
|
|
||||||
faqsAnimation="slide-up"
|
|
||||||
ariaLabel="Frequently asked questions"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="footer" data-section="footer">
|
<div id="footer" data-section="footer">
|
||||||
<FooterLogoEmphasis
|
<FooterLogoEmphasis
|
||||||
logoText="VanPro Plumbing"
|
logoText="VanPro Plumbing"
|
||||||
@@ -256,15 +224,15 @@ export default function HomePage() {
|
|||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Call Emergency", href: "tel:+1-604-618-4988" },
|
{ label: "Call Emergency", href: "tel:+1-604-618-4988" },
|
||||||
{ label: "Get Free Estimate", href: "#contact" },
|
{ label: "Get Free Estimate", href: "/contact" },
|
||||||
{
|
{
|
||||||
label: "$100 Off Camera Inspection", href: "#services"},
|
label: "$100 Off Camera Inspection", href: "#services"},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Services", href: "#services" },
|
{ label: "Services", href: "/services" },
|
||||||
{ label: "About Us", href: "#why-us" },
|
{ label: "About Us", href: "/about" },
|
||||||
{ label: "Reviews", href: "#reviews" },
|
{ label: "Reviews", href: "#reviews" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -273,7 +241,7 @@ export default function HomePage() {
|
|||||||
{
|
{
|
||||||
label: "Emergency Service", href: "tel:+1-604-618-4988"},
|
label: "Emergency Service", href: "tel:+1-604-618-4988"},
|
||||||
{ label: "Service Areas", href: "#" },
|
{ label: "Service Areas", href: "#" },
|
||||||
{ label: "Contact", href: "#emergency" },
|
{ label: "Contact", href: "/contact" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -289,4 +257,4 @@ export default function HomePage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,29 +5,30 @@ import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloating
|
|||||||
import FeatureCardOne from "@/components/sections/feature/FeatureCardOne";
|
import FeatureCardOne from "@/components/sections/feature/FeatureCardOne";
|
||||||
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
|
import FaqSplitText from "@/components/sections/faq/FaqSplitText";
|
||||||
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
|
import FooterLogoEmphasis from "@/components/sections/footer/FooterLogoEmphasis";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
export default function ServicesPage() {
|
export default function ServicesPage() {
|
||||||
return (
|
return (
|
||||||
<ThemeProvider
|
<ThemeProvider
|
||||||
defaultButtonVariant="hover-bubble"
|
defaultButtonVariant="hover-magnetic"
|
||||||
defaultTextAnimation="background-highlight"
|
defaultTextAnimation="reveal-blur"
|
||||||
borderRadius="soft"
|
borderRadius="rounded"
|
||||||
contentWidth="medium"
|
contentWidth="medium"
|
||||||
sizing="mediumLargeSizeLargeTitles"
|
sizing="mediumLargeSizeLargeTitles"
|
||||||
background="grid"
|
background="none"
|
||||||
cardStyle="gradient-bordered"
|
cardStyle="solid"
|
||||||
primaryButtonStyle="flat"
|
primaryButtonStyle="gradient"
|
||||||
secondaryButtonStyle="glass"
|
secondaryButtonStyle="glass"
|
||||||
headingFontWeight="normal"
|
headingFontWeight="semibold"
|
||||||
>
|
>
|
||||||
<div id="nav" data-section="nav">
|
<div id="nav" data-section="nav">
|
||||||
<NavbarLayoutFloatingInline
|
<NavbarLayoutFloatingInline
|
||||||
brandName="VanPro Plumbing"
|
brandName="VanPro Plumbing"
|
||||||
navItems={[
|
navItems={[
|
||||||
{ name: "Services", id: "services-detail" },
|
{ name: "Services", id: "/services" },
|
||||||
{ name: "FAQ", id: "services-faq" },
|
{ name: "About", id: "/about" },
|
||||||
{ name: "Reviews", id: "/" },
|
{ name: "Reviews", id: "#reviews" },
|
||||||
{ name: "Home", id: "/" },
|
{ name: "Contact", id: "/contact" },
|
||||||
]}
|
]}
|
||||||
button={{
|
button={{
|
||||||
text: "Call Now", href: "tel:+1-604-618-4988"}}
|
text: "Call Now", href: "tel:+1-604-618-4988"}}
|
||||||
@@ -44,22 +45,22 @@ export default function ServicesPage() {
|
|||||||
{
|
{
|
||||||
title: "Drain Cleaning & Maintenance", description:
|
title: "Drain Cleaning & Maintenance", description:
|
||||||
"Professional drain cleaning using high-pressure jetting technology. We clear clogs, backups, and slow drains quickly and efficiently. Preventative maintenance keeps your system flowing smoothly.", imageSrc:
|
"Professional drain cleaning using high-pressure jetting technology. We clear clogs, backups, and slow drains quickly and efficiently. Preventative maintenance keeps your system flowing smoothly.", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/girl-s-hand-filling-cup-with-water_23-2147824128.jpg", imageAlt: "Professional drain cleaning service", button: { text: "Schedule Service", href: "tel:+1-604-618-4988" },
|
"http://img.b2bpic.net/free-photo/girl-s-hand-filling-cup-with-water_23-2147824128.jpg?_wi=2", imageAlt: "Professional drain cleaning service", button: { text: "Schedule Service", href: "tel:+1-604-618-4988" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Sewer Camera Inspection", description:
|
title: "Sewer Camera Inspection", description:
|
||||||
"Advanced video camera inspection reveals exactly what's happening inside your sewer lines. Identify cracks, tree roots, and blockages without expensive digging. Save $100 on this service.", imageSrc:
|
"Advanced video camera inspection reveals exactly what's happening inside your sewer lines. Identify cracks, tree roots, and blockages without expensive digging. Save $100 on this service.", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/shot-oilfield-worker-checking-quality-gas-pipes-construction-site_342744-363.jpg", imageAlt: "Sewer camera inspection technology", button: { text: "Book Inspection", href: "tel:+1-604-618-4988" },
|
"http://img.b2bpic.net/free-photo/shot-oilfield-worker-checking-quality-gas-pipes-construction-site_342744-363.jpg?_wi=2", imageAlt: "Sewer camera inspection technology", button: { text: "Book Inspection", href: "tel:+1-604-618-4988" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Emergency Plumbing Repair", description:
|
title: "Emergency Plumbing Repair", description:
|
||||||
"24/7 emergency response for burst pipes, leaks, floods, and urgent issues. Our technicians arrive quickly and resolve your problem to minimize water damage and restore peace of mind.", imageSrc:
|
"24/7 emergency response for burst pipes, leaks, floods, and urgent issues. Our technicians arrive quickly and resolve your problem to minimize water damage and restore peace of mind.", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/distraught-car-mechanic-going-through-problematic-paperwork-with-his-manager-auto-repair-shop_637285-7584.jpg", imageAlt: "Emergency plumbing repair service", button: { text: "Emergency Service", href: "tel:+1-604-618-4988" },
|
"http://img.b2bpic.net/free-photo/distraught-car-mechanic-going-through-problematic-paperwork-with-his-manager-auto-repair-shop_637285-7584.jpg?_wi=2", imageAlt: "Emergency plumbing repair service", button: { text: "Emergency Service", href: "tel:+1-604-618-4988" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "Water Heater Installation", description:
|
title: "Water Heater Installation", description:
|
||||||
"Professional water heater replacement and installation. Whether traditional tank or tankless systems, our technicians handle the complete job with same-day service available on select units.", imageSrc:
|
"Professional water heater replacement and installation. Whether traditional tank or tankless systems, our technicians handle the complete job with same-day service available on select units.", imageSrc:
|
||||||
"http://img.b2bpic.net/free-photo/worker-repairing-water-heater_23-2149334225.jpg", imageAlt: "Water heater replacement and installation", button: { text: "Get Quote", href: "#" },
|
"http://img.b2bpic.net/free-photo/worker-repairing-water-heater_23-2149334225.jpg?_wi=2", imageAlt: "Water heater replacement and installation", button: { text: "Get Quote", href: "/contact" },
|
||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
gridVariant="two-columns-alternating-heights"
|
gridVariant="two-columns-alternating-heights"
|
||||||
@@ -111,15 +112,15 @@ export default function ServicesPage() {
|
|||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Call Emergency", href: "tel:+1-604-618-4988" },
|
{ label: "Call Emergency", href: "tel:+1-604-618-4988" },
|
||||||
{ label: "Get Free Estimate", href: "#" },
|
{ label: "Get Free Estimate", href: "/contact" },
|
||||||
{
|
{
|
||||||
label: "$100 Off Camera Inspection", href: "#services-detail"},
|
label: "$100 Off Camera Inspection", href: "/services"},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
items: [
|
items: [
|
||||||
{ label: "Services", href: "#services-detail" },
|
{ label: "Services", href: "/services" },
|
||||||
{ label: "About Us", href: "/" },
|
{ label: "About Us", href: "/about" },
|
||||||
{ label: "Reviews", href: "/" },
|
{ label: "Reviews", href: "/" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -128,7 +129,7 @@ export default function ServicesPage() {
|
|||||||
{
|
{
|
||||||
label: "Emergency Service", href: "tel:+1-604-618-4988"},
|
label: "Emergency Service", href: "tel:+1-604-618-4988"},
|
||||||
{ label: "Service Areas", href: "#" },
|
{ label: "Service Areas", href: "#" },
|
||||||
{ label: "Contact", href: "#" },
|
{ label: "Contact", href: "/contact" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -144,4 +145,4 @@ export default function ServicesPage() {
|
|||||||
</div>
|
</div>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ html {
|
|||||||
body {
|
body {
|
||||||
background-color: var(--background);
|
background-color: var(--background);
|
||||||
color: var(--foreground);
|
color: var(--foreground);
|
||||||
font-family: var(--font-mulish), sans-serif;
|
font-family: var(--font-inter), sans-serif;
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
overscroll-behavior: none;
|
overscroll-behavior: none;
|
||||||
@@ -24,5 +24,5 @@ h3,
|
|||||||
h4,
|
h4,
|
||||||
h5,
|
h5,
|
||||||
h6 {
|
h6 {
|
||||||
font-family: var(--font-mulish), sans-serif;
|
font-family: var(--font-inter), sans-serif;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,23 +2,23 @@
|
|||||||
/* Base units */
|
/* Base units */
|
||||||
/* --vw is set by ThemeProvider */
|
/* --vw is set by ThemeProvider */
|
||||||
|
|
||||||
/* --background: #f7f6f7;;
|
/* --background: #ffffff;;
|
||||||
--card: #ffffff;;
|
--card: #f9f9f9;;
|
||||||
--foreground: #1b0c25;;
|
--foreground: #1f3251;;
|
||||||
--primary-cta: #1b0c25;;
|
--primary-cta: #106EFB;;
|
||||||
--secondary-cta: #ffffff;;
|
--secondary-cta: #f9f9f9;;
|
||||||
--accent: #ff93e4;;
|
--accent: #159c49;;
|
||||||
--background-accent: #e8a8c3;; */
|
--background-accent: #a8e8ba;; */
|
||||||
|
|
||||||
--background: #f7f6f7;;
|
--background: #ffffff;;
|
||||||
--card: #ffffff;;
|
--card: #f9f9f9;;
|
||||||
--foreground: #1b0c25;;
|
--foreground: #1f3251;;
|
||||||
--primary-cta: #1b0c25;;
|
--primary-cta: #106EFB;;
|
||||||
--primary-cta-text: #f7f6f7;;
|
--primary-cta-text: #f7f6f7;;
|
||||||
--secondary-cta: #ffffff;;
|
--secondary-cta: #f9f9f9;;
|
||||||
--secondary-cta-text: #1b0c25;;
|
--secondary-cta-text: #1b0c25;;
|
||||||
--accent: #ff93e4;;
|
--accent: #159c49;;
|
||||||
--background-accent: #e8a8c3;;
|
--background-accent: #a8e8ba;;
|
||||||
|
|
||||||
/* text sizing - set by ThemeProvider */
|
/* text sizing - set by ThemeProvider */
|
||||||
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
/* --text-2xs: clamp(0.465rem, 0.62vw, 0.62rem);
|
||||||
|
|||||||
Reference in New Issue
Block a user