Merge version_1 into main #2

Merged
bender merged 4 commits from version_1 into main 2026-03-10 20:19:13 +00:00
4 changed files with 99 additions and 335 deletions

View File

@@ -20,8 +20,7 @@ export default function AboutPage() {
const footerColumns = [
{
title: "Services",
items: [
title: "Services", items: [
{ label: "Bathroom Remodeling", href: "/services" },
{ label: "Kitchen Remodeling", href: "/services" },
{ label: "Whole Home Renovations", href: "/services" },
@@ -30,8 +29,7 @@ export default function AboutPage() {
],
},
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About Us", href: "/about" },
{ label: "Our Process", href: "/" },
{ label: "Project Gallery", href: "/gallery" },
@@ -40,8 +38,7 @@ export default function AboutPage() {
],
},
{
title: "Contact",
items: [
title: "Contact", items: [
{ label: "Phone: (360) 513-7022", href: "tel:3605137022" },
{ label: "Address: 821 NE 162nd Ave, Vancouver, WA 98684", href: "#" },
{ label: "Mon-Fri: 6:00 AM - 9:00 PM", href: "#" },
@@ -49,8 +46,7 @@ export default function AboutPage() {
],
},
{
title: "Service Areas",
items: [
title: "Service Areas", items: [
{ label: "Vancouver, WA", href: "#" },
{ label: "Camas, WA", href: "#" },
{ label: "Battle Ground, WA", href: "#" },
@@ -68,7 +64,7 @@ export default function AboutPage() {
borderRadius="soft"
contentWidth="compact"
sizing="mediumSizeLargeTitles"
background="grid"
background="circleGradient"
cardStyle="gradient-bordered"
primaryButtonStyle="shadow"
secondaryButtonStyle="radial-glow"
@@ -79,9 +75,7 @@ export default function AboutPage() {
brandName="Haagen"
navItems={navItems}
button={{
text: "Get Free Estimate",
href: "/contact",
}}
text: "Get Free Estimate", href: "/contact"}}
animateOnLoad={true}
/>
</div>
@@ -95,9 +89,7 @@ export default function AboutPage() {
useInvertedBackground={false}
buttons={[
{
text: "Schedule Consultation",
href: "/contact",
},
text: "Schedule Consultation", href: "/contact"},
]}
buttonAnimation="slide-up"
/>
@@ -112,25 +104,13 @@ export default function AboutPage() {
tagAnimation="slide-up"
metrics={[
{
id: "1",
value: "130",
title: "+",
description: "Happy Homeowners Served",
icon: Users,
id: "1", value: "130", title: "+", description: "Happy Homeowners Served", icon: Users,
},
{
id: "2",
value: "4.9",
title: "★",
description: "Average Google Rating",
icon: Star,
id: "2", value: "4.9", title: "★", description: "Average Google Rating", icon: Star,
},
{
id: "3",
value: "15",
title: "+",
description: "Years of Experience",
icon: Award,
id: "3", value: "15", title: "+", description: "Years of Experience", icon: Award,
},
]}
gridVariant="uniform-all-items-equal"
@@ -139,9 +119,7 @@ export default function AboutPage() {
useInvertedBackground={false}
buttons={[
{
text: "See Our Work",
href: "/gallery",
},
text: "See Our Work", href: "/gallery"},
]}
buttonAnimation="slide-up"
/>
@@ -156,39 +134,18 @@ export default function AboutPage() {
tagAnimation="slide-up"
testimonials={[
{
id: "1",
name: "Sarah Johnson",
role: "Homeowner, Vancouver WA",
testimonial: "Chad kept us informed every single day about the progress. The attention to detail in our bathroom remodel is incredible. He treated our home like his own.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-confident-young-carpenter_329181-15638.jpg?_wi=2",
imageAlt: "Sarah Johnson testimonial",
},
id: "1", name: "Sarah Johnson", role: "Homeowner, Vancouver WA", testimonial: "Chad kept us informed every single day about the progress. The attention to detail in our bathroom remodel is incredible. He treated our home like his own.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-confident-young-carpenter_329181-15638.jpg", imageAlt: "Sarah Johnson testimonial"},
{
id: "2",
name: "Michael Chen",
role: "Homeowner, Camas WA",
testimonial: "Finally, a contractor who actually communicates! Our kitchen renovation exceeded all expectations. Fair pricing and honest advice throughout the entire process.",
imageSrc: "http://img.b2bpic.net/free-photo/young-attractive-emotional-girl-business-style-clothes-plain-white-background-office-audience_78826-2259.jpg?_wi=2",
imageAlt: "Michael Chen testimonial",
},
id: "2", name: "Michael Chen", role: "Homeowner, Camas WA", testimonial: "Finally, a contractor who actually communicates! Our kitchen renovation exceeded all expectations. Fair pricing and honest advice throughout the entire process.", imageSrc: "http://img.b2bpic.net/free-photo/young-attractive-emotional-girl-business-style-clothes-plain-white-background-office-audience_78826-2259.jpg", imageAlt: "Michael Chen testimonial"},
{
id: "3",
name: "Jennifer Martinez",
role: "Homeowner, Battle Ground WA",
testimonial: "Chad's crew was respectful, professional, and incredibly knowledgeable. Our tile shower turned out stunning. Best contractor we've worked with.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-working-call-center_23-2149288230.jpg?_wi=2",
imageAlt: "Jennifer Martinez testimonial",
},
id: "3", name: "Jennifer Martinez", role: "Homeowner, Battle Ground WA", testimonial: "Chad's crew was respectful, professional, and incredibly knowledgeable. Our tile shower turned out stunning. Best contractor we've worked with.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-working-call-center_23-2149288230.jpg", imageAlt: "Jennifer Martinez testimonial"},
]}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
buttons={[
{
text: "Read More Reviews",
href: "/",
},
text: "Read More Reviews", href: "/reviews"},
]}
buttonAnimation="slide-up"
/>

View File

@@ -24,8 +24,7 @@ export default function HomePage() {
const footerColumns = [
{
title: "Services",
items: [
title: "Services", items: [
{ label: "Bathroom Remodeling", href: "/services" },
{ label: "Kitchen Remodeling", href: "/services" },
{ label: "Whole Home Renovations", href: "/services" },
@@ -34,8 +33,7 @@ export default function HomePage() {
],
},
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About Us", href: "/about" },
{ label: "Our Process", href: "/" },
{ label: "Project Gallery", href: "/gallery" },
@@ -44,8 +42,7 @@ export default function HomePage() {
],
},
{
title: "Contact",
items: [
title: "Contact", items: [
{ label: "Phone: (360) 513-7022", href: "tel:3605137022" },
{ label: "Address: 821 NE 162nd Ave, Vancouver, WA 98684", href: "#" },
{ label: "Mon-Fri: 6:00 AM - 9:00 PM", href: "#" },
@@ -53,8 +50,7 @@ export default function HomePage() {
],
},
{
title: "Service Areas",
items: [
title: "Service Areas", items: [
{ label: "Vancouver, WA", href: "#" },
{ label: "Camas, WA", href: "#" },
{ label: "Battle Ground, WA", href: "#" },
@@ -72,7 +68,7 @@ export default function HomePage() {
borderRadius="soft"
contentWidth="compact"
sizing="mediumSizeLargeTitles"
background="grid"
background="circleGradient"
cardStyle="gradient-bordered"
primaryButtonStyle="shadow"
secondaryButtonStyle="radial-glow"
@@ -83,9 +79,7 @@ export default function HomePage() {
brandName="Haagen"
navItems={navItems}
button={{
text: "Get Free Estimate",
href: "/contact",
}}
text: "Get Free Estimate", href: "/contact"}}
animateOnLoad={true}
/>
</div>
@@ -97,18 +91,14 @@ export default function HomePage() {
tag="Trusted by 130+ Homeowners"
tagIcon={CheckCircle}
tagAnimation="slide-up"
background={{ variant: "grid" }}
background={{ variant: "animated-grid" }}
imageSrc="http://img.b2bpic.net/free-photo/woman-towel-her-head-bathrobe-reads-latest-news-lady-with-cup-tea-posing-bathroom_197531-17268.jpg"
imageAlt="Luxury bathroom remodel by Haagen General Contractors"
buttons={[
{
text: "Get Your Free Estimate",
href: "/contact",
},
text: "Get Your Free Estimate", href: "/contact"},
{
text: "Call (360) 513-7022",
href: "tel:3605137022",
},
text: "Call (360) 513-7022", href: "tel:3605137022"},
]}
buttonAnimation="slide-up"
/>
@@ -123,9 +113,7 @@ export default function HomePage() {
useInvertedBackground={false}
buttons={[
{
text: "Schedule Consultation",
href: "/contact",
},
text: "Schedule Consultation", href: "/contact"},
]}
buttonAnimation="slide-up"
/>
@@ -140,71 +128,29 @@ export default function HomePage() {
tagAnimation="slide-up"
features={[
{
id: "bathroom-remodel",
title: "Bathroom Remodeling",
descriptions: [
"Complete bathroom transformations from concept to completion",
"Luxury tile shower installations with premium finishes",
"Modern vanities, fixtures, and spa-like amenities",
],
imageSrc: "http://img.b2bpic.net/free-photo/modern-bathroom-with-blue-tile-glass-shower_23-2151995356.jpg?_wi=1",
imageAlt: "Luxury bathroom remodeling services",
},
id: "bathroom-remodel", title: "Bathroom Remodeling", descriptions: [
"Complete bathroom transformations from concept to completion", "Luxury tile shower installations with premium finishes", "Modern vanities, fixtures, and spa-like amenities"],
imageSrc: "http://img.b2bpic.net/free-photo/modern-bathroom-with-blue-tile-glass-shower_23-2151995356.jpg", imageAlt: "Luxury bathroom remodeling services"},
{
id: "kitchen-remodel",
title: "Kitchen Remodeling",
descriptions: [
"Custom kitchen designs that blend style and function",
"High-end cabinetry, countertops, and backsplash installations",
"Professional appliance integration and layouts",
],
imageSrc: "http://img.b2bpic.net/free-photo/open-kitchen-drawer-with-dishes-inside-everyday-organization_169016-71087.jpg?_wi=1",
imageAlt: "Modern kitchen remodeling services",
},
id: "kitchen-remodel", title: "Kitchen Remodeling", descriptions: [
"Custom kitchen designs that blend style and function", "High-end cabinetry, countertops, and backsplash installations", "Professional appliance integration and layouts"],
imageSrc: "http://img.b2bpic.net/free-photo/open-kitchen-drawer-with-dishes-inside-everyday-organization_169016-71087.jpg", imageAlt: "Modern kitchen remodeling services"},
{
id: "whole-home",
title: "Whole Home Renovations",
descriptions: [
"Comprehensive home remodeling projects with detailed planning",
"Multi-room coordination with seamless execution",
"Complete transformation from concept to move-in ready",
],
imageSrc: "http://img.b2bpic.net/free-photo/tiler-working-renovation-apartment_23-2149278642.jpg?_wi=1",
imageAlt: "Whole home renovation services",
},
id: "whole-home", title: "Whole Home Renovations", descriptions: [
"Comprehensive home remodeling projects with detailed planning", "Multi-room coordination with seamless execution", "Complete transformation from concept to move-in ready"],
imageSrc: "http://img.b2bpic.net/free-photo/tiler-working-renovation-apartment_23-2149278642.jpg", imageAlt: "Whole home renovation services"},
{
id: "tile-flooring",
title: "Tile & Flooring",
descriptions: [
"Expert tile installation for showers, bathrooms, and kitchens",
"Luxury flooring options including hardwood and custom tiles",
"Meticulous attention to detail in every installation",
],
imageSrc: "http://img.b2bpic.net/free-photo/modern-bathroom-with-blue-tile-glass-shower_23-2151995356.jpg?_wi=2",
imageAlt: "Professional tile and flooring installation",
},
id: "tile-flooring", title: "Tile & Flooring", descriptions: [
"Expert tile installation for showers, bathrooms, and kitchens", "Luxury flooring options including hardwood and custom tiles", "Meticulous attention to detail in every installation"],
imageSrc: "http://img.b2bpic.net/free-photo/modern-bathroom-with-blue-tile-glass-shower_23-2151995356.jpg", imageAlt: "Professional tile and flooring installation"},
{
id: "water-damage",
title: "Water Damage Restoration",
descriptions: [
"Emergency water damage assessment and restoration",
"Complete water mitigation and repair services",
"Prevention strategies to protect your home",
],
imageSrc: "http://img.b2bpic.net/free-photo/tiler-working-renovation-apartment_23-2149278642.jpg?_wi=2",
imageAlt: "Water damage restoration services",
},
id: "water-damage", title: "Water Damage Restoration", descriptions: [
"Emergency water damage assessment and restoration", "Complete water mitigation and repair services", "Prevention strategies to protect your home"],
imageSrc: "http://img.b2bpic.net/free-photo/tiler-working-renovation-apartment_23-2149278642.jpg", imageAlt: "Water damage restoration services"},
{
id: "drywall-repair",
title: "Drywall & Interior Repair",
descriptions: [
"Professional drywall repair and finishing",
"Custom wall solutions and texture options",
"Paint and final finishes for pristine results",
],
imageSrc: "http://img.b2bpic.net/free-photo/open-kitchen-drawer-with-dishes-inside-everyday-organization_169016-71087.jpg?_wi=2",
imageAlt: "Drywall repair and interior finishing",
},
id: "drywall-repair", title: "Drywall & Interior Repair", descriptions: [
"Professional drywall repair and finishing", "Custom wall solutions and texture options", "Paint and final finishes for pristine results"],
imageSrc: "http://img.b2bpic.net/free-photo/open-kitchen-drawer-with-dishes-inside-everyday-organization_169016-71087.jpg", imageAlt: "Drywall repair and interior finishing"},
]}
gridVariant="two-columns-alternating-heights"
animationType="slide-up"
@@ -212,9 +158,7 @@ export default function HomePage() {
useInvertedBackground={false}
buttons={[
{
text: "View All Services",
href: "/services",
},
text: "View All Services", href: "/services"},
]}
buttonAnimation="slide-up"
/>
@@ -229,39 +173,19 @@ export default function HomePage() {
tagAnimation="slide-up"
metrics={[
{
id: "1",
value: "1",
title: "Consultation",
description: "Initial meeting to understand your vision and needs",
icon: MessageSquare,
id: "1", value: "1", title: "Consultation", description: "Initial meeting to understand your vision and needs", icon: MessageSquare,
},
{
id: "2",
value: "2",
title: "Detailed Estimate",
description: "Comprehensive quote with transparent pricing breakdown",
icon: FileText,
id: "2", value: "2", title: "Detailed Estimate", description: "Comprehensive quote with transparent pricing breakdown", icon: FileText,
},
{
id: "3",
value: "3",
title: "Project Planning",
description: "Detailed timeline with daily communication protocols",
icon: Calendar,
id: "3", value: "3", title: "Project Planning", description: "Detailed timeline with daily communication protocols", icon: Calendar,
},
{
id: "4",
value: "4",
title: "Construction",
description: "Expert execution with constant updates and quality checks",
icon: Hammer,
id: "4", value: "4", title: "Construction", description: "Expert execution with constant updates and quality checks", icon: Hammer,
},
{
id: "5",
value: "5",
title: "Final Walkthrough",
description: "Complete inspection ensuring every detail is perfect",
icon: CheckCircle,
id: "5", value: "5", title: "Final Walkthrough", description: "Complete inspection ensuring every detail is perfect", icon: CheckCircle,
},
]}
gridVariant="uniform-all-items-equal"
@@ -270,9 +194,7 @@ export default function HomePage() {
useInvertedBackground={false}
buttons={[
{
text: "Start Your Project",
href: "/contact",
},
text: "Start Your Project", href: "/contact"},
]}
buttonAnimation="slide-up"
/>
@@ -287,63 +209,24 @@ export default function HomePage() {
tagAnimation="slide-up"
testimonials={[
{
id: "1",
name: "Sarah Johnson",
role: "Homeowner, Vancouver WA",
testimonial: "Chad kept us informed every single day about the progress. The attention to detail in our bathroom remodel is incredible. He treated our home like his own.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-confident-young-carpenter_329181-15638.jpg?_wi=1",
imageAlt: "Sarah Johnson testimonial",
},
id: "1", name: "Sarah Johnson", role: "Homeowner, Vancouver WA", testimonial: "Chad kept us informed every single day about the progress. The attention to detail in our bathroom remodel is incredible. He treated our home like his own.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-confident-young-carpenter_329181-15638.jpg", imageAlt: "Sarah Johnson testimonial"},
{
id: "2",
name: "Michael Chen",
role: "Homeowner, Camas WA",
testimonial: "Finally, a contractor who actually communicates! Our kitchen renovation exceeded all expectations. Fair pricing and honest advice throughout the entire process.",
imageSrc: "http://img.b2bpic.net/free-photo/young-attractive-emotional-girl-business-style-clothes-plain-white-background-office-audience_78826-2259.jpg?_wi=1",
imageAlt: "Michael Chen testimonial",
},
id: "2", name: "Michael Chen", role: "Homeowner, Camas WA", testimonial: "Finally, a contractor who actually communicates! Our kitchen renovation exceeded all expectations. Fair pricing and honest advice throughout the entire process.", imageSrc: "http://img.b2bpic.net/free-photo/young-attractive-emotional-girl-business-style-clothes-plain-white-background-office-audience_78826-2259.jpg", imageAlt: "Michael Chen testimonial"},
{
id: "3",
name: "Jennifer Martinez",
role: "Homeowner, Battle Ground WA",
testimonial: "Chad's crew was respectful, professional, and incredibly knowledgeable. Our tile shower turned out stunning. Best contractor we've worked with.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-working-call-center_23-2149288230.jpg?_wi=1",
imageAlt: "Jennifer Martinez testimonial",
},
id: "3", name: "Jennifer Martinez", role: "Homeowner, Battle Ground WA", testimonial: "Chad's crew was respectful, professional, and incredibly knowledgeable. Our tile shower turned out stunning. Best contractor we've worked with.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-working-call-center_23-2149288230.jpg", imageAlt: "Jennifer Martinez testimonial"},
{
id: "4",
name: "David Thompson",
role: "Homeowner, Washougal WA",
testimonial: "The communication throughout the project was exceptional. Chad went above and beyond to help us save money on materials without sacrificing quality.",
imageSrc: "http://img.b2bpic.net/free-photo/young-blonde-businesswoman-smiling-happy-standing-city_839833-14128.jpg?_wi=1",
imageAlt: "David Thompson testimonial",
},
id: "4", name: "David Thompson", role: "Homeowner, Washougal WA", testimonial: "The communication throughout the project was exceptional. Chad went above and beyond to help us save money on materials without sacrificing quality.", imageSrc: "http://img.b2bpic.net/free-photo/young-blonde-businesswoman-smiling-happy-standing-city_839833-14128.jpg", imageAlt: "David Thompson testimonial"},
{
id: "5",
name: "Amanda Brooks",
role: "Homeowner, Ridgefield WA",
testimonial: "Trustworthy, honest, and truly cares about customer satisfaction. Our whole home renovation was completed exactly on time and budget. Highly recommend!",
imageSrc: "http://img.b2bpic.net/free-photo/two-people-working-warehouse_329181-12814.jpg?_wi=1",
imageAlt: "Amanda Brooks testimonial",
},
id: "5", name: "Amanda Brooks", role: "Homeowner, Ridgefield WA", testimonial: "Trustworthy, honest, and truly cares about customer satisfaction. Our whole home renovation was completed exactly on time and budget. Highly recommend!", imageSrc: "http://img.b2bpic.net/free-photo/two-people-working-warehouse_329181-12814.jpg", imageAlt: "Amanda Brooks testimonial"},
{
id: "6",
name: "Robert Wilson",
role: "Homeowner, Portland OR",
testimonial: "Chad's expertise and creative solutions saved us money and delivered better results than we imagined. The daily updates gave us complete peace of mind.",
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-blue-golf-turtleneck-white-background-with-confident-smile-smiling-cheerfully-showing-thumbs-up_343596-8104.jpg?_wi=1",
imageAlt: "Robert Wilson testimonial",
},
id: "6", name: "Robert Wilson", role: "Homeowner, Portland OR", testimonial: "Chad's expertise and creative solutions saved us money and delivered better results than we imagined. The daily updates gave us complete peace of mind.", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-blue-golf-turtleneck-white-background-with-confident-smile-smiling-cheerfully-showing-thumbs-up_343596-8104.jpg", imageAlt: "Robert Wilson testimonial"},
]}
gridVariant="uniform-all-items-equal"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
buttons={[
{
text: "Read All Reviews",
href: "/",
},
text: "Read All Reviews", href: "/reviews"},
]}
buttonAnimation="slide-up"
/>
@@ -357,25 +240,9 @@ export default function HomePage() {
tagIcon={Award}
tagAnimation="slide-up"
names={[
"Home Depot",
"Lowe's",
"Kohler",
"Tile Shop",
"Sherwin Williams",
"Benjamin Moore",
"Andersen Windows",
"Armstrong Flooring",
]}
"Home Depot", "Lowe's", "Kohler", "Tile Shop", "Sherwin Williams", "Benjamin Moore", "Andersen Windows", "Armstrong Flooring"]}
logos={[
"http://img.b2bpic.net/free-vector/set-labour-day-badges-flat-style_23-2147797798.jpg",
"http://img.b2bpic.net/free-vector/flat-design-labor-day-badge-collection_23-2148600233.jpg",
"http://img.b2bpic.net/free-vector/gradient-modern-plumbing-logo_742173-6831.jpg",
"http://img.b2bpic.net/free-vector/geometrical-abstract-logos_1025-425.jpg",
"http://img.b2bpic.net/free-vector/pack-six-labor-day-badges-flat-design_23-2147655483.jpg",
"http://img.b2bpic.net/free-vector/gradient-paint-gun-logo-template_23-2149990493.jpg",
"http://img.b2bpic.net/free-vector/standard-stamp-design-collection_23-2149812642.jpg",
"http://img.b2bpic.net/free-vector/furniture-logo-concept_23-2148628554.jpg",
]}
"http://img.b2bpic.net/free-vector/set-labour-day-badges-flat-style_23-2147797798.jpg", "http://img.b2bpic.net/free-vector/flat-design-labor-day-badge-collection_23-2148600233.jpg", "http://img.b2bpic.net/free-vector/gradient-modern-plumbing-logo_742173-6831.jpg", "http://img.b2bpic.net/free-vector/geometrical-abstract-logos_1025-425.jpg", "http://img.b2bpic.net/free-vector/pack-six-labor-day-badges-flat-design_23-2147655483.jpg", "http://img.b2bpic.net/free-vector/gradient-paint-gun-logo-template_23-2149990493.jpg", "http://img.b2bpic.net/free-vector/standard-stamp-design-collection_23-2149812642.jpg", "http://img.b2bpic.net/free-vector/furniture-logo-concept_23-2148628554.jpg"]}
textboxLayout="default"
useInvertedBackground={false}
showCard={true}
@@ -391,13 +258,9 @@ export default function HomePage() {
useInvertedBackground={false}
buttons={[
{
text: "Get Free Estimate",
href: "/contact",
},
text: "Get Free Estimate", href: "/contact"},
{
text: "Call Now (360) 513-7022",
href: "tel:3605137022",
},
text: "Call Now (360) 513-7022", href: "tel:3605137022"},
]}
/>
</div>

View File

@@ -10,53 +10,17 @@ import { Star, Package, Quote } from "lucide-react";
export default function ReviewsPage() {
const testimonials = [
{
id: "1",
name: "Sarah Johnson",
role: "Homeowner, Vancouver WA",
testimonial: "Chad kept us informed every single day about the progress. The attention to detail in our bathroom remodel is incredible. He treated our home like his own.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-confident-young-carpenter_329181-15638.jpg?_wi=3",
imageAlt: "Sarah Johnson testimonial",
},
id: "1", name: "Sarah Johnson", role: "Homeowner, Vancouver WA", testimonial: "Chad kept us informed every single day about the progress. The attention to detail in our bathroom remodel is incredible. He treated our home like his own.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-confident-young-carpenter_329181-15638.jpg", imageAlt: "Sarah Johnson testimonial"},
{
id: "2",
name: "Michael Chen",
role: "Homeowner, Camas WA",
testimonial: "Finally, a contractor who actually communicates! Our kitchen renovation exceeded all expectations. Fair pricing and honest advice throughout the entire process.",
imageSrc: "http://img.b2bpic.net/free-photo/young-attractive-emotional-girl-business-style-clothes-plain-white-background-office-audience_78826-2259.jpg?_wi=3",
imageAlt: "Michael Chen testimonial",
},
id: "2", name: "Michael Chen", role: "Homeowner, Camas WA", testimonial: "Finally, a contractor who actually communicates! Our kitchen renovation exceeded all expectations. Fair pricing and honest advice throughout the entire process.", imageSrc: "http://img.b2bpic.net/free-photo/young-attractive-emotional-girl-business-style-clothes-plain-white-background-office-audience_78826-2259.jpg", imageAlt: "Michael Chen testimonial"},
{
id: "3",
name: "Jennifer Martinez",
role: "Homeowner, Battle Ground WA",
testimonial: "Chad's crew was respectful, professional, and incredibly knowledgeable. Our tile shower turned out stunning. Best contractor we've worked with.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-working-call-center_23-2149288230.jpg?_wi=3",
imageAlt: "Jennifer Martinez testimonial",
},
id: "3", name: "Jennifer Martinez", role: "Homeowner, Battle Ground WA", testimonial: "Chad's crew was respectful, professional, and incredibly knowledgeable. Our tile shower turned out stunning. Best contractor we've worked with.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-person-working-call-center_23-2149288230.jpg", imageAlt: "Jennifer Martinez testimonial"},
{
id: "4",
name: "David Thompson",
role: "Homeowner, Washougal WA",
testimonial: "The communication throughout the project was exceptional. Chad went above and beyond to help us save money on materials without sacrificing quality.",
imageSrc: "http://img.b2bpic.net/free-photo/young-blonde-businesswoman-smiling-happy-standing-city_839833-14128.jpg?_wi=2",
imageAlt: "David Thompson testimonial",
},
id: "4", name: "David Thompson", role: "Homeowner, Washougal WA", testimonial: "The communication throughout the project was exceptional. Chad went above and beyond to help us save money on materials without sacrificing quality.", imageSrc: "http://img.b2bpic.net/free-photo/young-blonde-businesswoman-smiling-happy-standing-city_839833-14128.jpg", imageAlt: "David Thompson testimonial"},
{
id: "5",
name: "Amanda Brooks",
role: "Homeowner, Ridgefield WA",
testimonial: "Trustworthy, honest, and truly cares about customer satisfaction. Our whole home renovation was completed exactly on time and budget. Highly recommend!",
imageSrc: "http://img.b2bpic.net/free-photo/two-people-working-warehouse_329181-12814.jpg?_wi=2",
imageAlt: "Amanda Brooks testimonial",
},
id: "5", name: "Amanda Brooks", role: "Homeowner, Ridgefield WA", testimonial: "Trustworthy, honest, and truly cares about customer satisfaction. Our whole home renovation was completed exactly on time and budget. Highly recommend!", imageSrc: "http://img.b2bpic.net/free-photo/two-people-working-warehouse_329181-12814.jpg", imageAlt: "Amanda Brooks testimonial"},
{
id: "6",
name: "Robert Wilson",
role: "Homeowner, Portland OR",
testimonial: "Chad's expertise and creative solutions saved us money and delivered better results than we imagined. The daily updates gave us complete peace of mind.",
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-blue-golf-turtleneck-white-background-with-confident-smile-smiling-cheerfully-showing-thumbs-up_343596-8104.jpg?_wi=2",
imageAlt: "Robert Wilson testimonial",
},
id: "6", name: "Robert Wilson", role: "Homeowner, Portland OR", testimonial: "Chad's expertise and creative solutions saved us money and delivered better results than we imagined. The daily updates gave us complete peace of mind.", imageSrc: "http://img.b2bpic.net/free-photo/young-woman-blue-golf-turtleneck-white-background-with-confident-smile-smiling-cheerfully-showing-thumbs-up_343596-8104.jpg", imageAlt: "Robert Wilson testimonial"},
];
const navItems = [
@@ -69,8 +33,7 @@ export default function ReviewsPage() {
const footerColumns = [
{
title: "Services",
items: [
title: "Services", items: [
{ label: "Bathroom Remodeling", href: "/services" },
{ label: "Kitchen Remodeling", href: "/services" },
{ label: "Whole Home Renovations", href: "/services" },
@@ -79,8 +42,7 @@ export default function ReviewsPage() {
],
},
{
title: "Company",
items: [
title: "Company", items: [
{ label: "About Us", href: "/about" },
{ label: "Our Process", href: "/" },
{ label: "Project Gallery", href: "/gallery" },
@@ -89,8 +51,7 @@ export default function ReviewsPage() {
],
},
{
title: "Contact",
items: [
title: "Contact", items: [
{ label: "Phone: (360) 513-7022", href: "tel:3605137022" },
{ label: "Address: 821 NE 162nd Ave, Vancouver, WA 98684", href: "#" },
{ label: "Mon-Fri: 6:00 AM - 9:00 PM", href: "#" },
@@ -98,8 +59,7 @@ export default function ReviewsPage() {
],
},
{
title: "Service Areas",
items: [
title: "Service Areas", items: [
{ label: "Vancouver, WA", href: "#" },
{ label: "Camas, WA", href: "#" },
{ label: "Battle Ground, WA", href: "#" },
@@ -117,7 +77,7 @@ export default function ReviewsPage() {
borderRadius="soft"
contentWidth="compact"
sizing="mediumSizeLargeTitles"
background="grid"
background="circleGradient"
cardStyle="gradient-bordered"
primaryButtonStyle="shadow"
secondaryButtonStyle="radial-glow"
@@ -128,9 +88,7 @@ export default function ReviewsPage() {
brandName="Haagen"
navItems={navItems}
button={{
text: "Get Free Estimate",
href: "/contact",
}}
text: "Get Free Estimate", href: "/contact"}}
animateOnLoad={true}
/>
</div>
@@ -143,15 +101,12 @@ export default function ReviewsPage() {
tag="Client Testimonials"
tagIcon={Star}
tagAnimation="slide-up"
gridVariant="uniform-all-items-equal"
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
buttons={[
{
text: "Start Your Project",
href: "/contact",
},
text: "Start Your Project", href: "/contact"},
]}
buttonAnimation="slide-up"
/>

View File

@@ -1,51 +1,40 @@
"use client";
import { memo } from "react";
import useSvgTextLogo from "./useSvgTextLogo";
import { cls } from "@/lib/utils";
import React from 'react';
interface SvgTextLogoProps {
logoText: string;
adjustHeightFactor?: number;
verticalAlign?: "top" | "center";
text: string;
fontSize?: number;
fontFamily?: string;
fill?: string;
className?: string;
}
const SvgTextLogo = memo<SvgTextLogoProps>(function SvgTextLogo({
logoText,
adjustHeightFactor,
verticalAlign = "top",
className = "",
}) {
const { svgRef, textRef, viewBox, aspectRatio } = useSvgTextLogo(logoText, false, adjustHeightFactor);
const SvgTextLogo: React.FC<SvgTextLogoProps> = ({
text,
fontSize = 48,
fontFamily = 'Arial, sans-serif',
fill = 'currentColor',
className = '',
}) => {
return (
<svg
ref={svgRef}
viewBox={viewBox}
className={cls("w-full", className)}
style={{ aspectRatio: aspectRatio }}
preserveAspectRatio="none"
role="img"
aria-label={`${logoText} logo`}
viewBox={`0 0 ${text.length * fontSize * 0.6} ${fontSize * 1.5}`}
width={text.length * fontSize * 0.6}
height={fontSize * 1.5}
className={className}
>
<text
ref={textRef}
x="0"
y={verticalAlign === "center" ? "50%" : "0"}
className="font-bold fill-current"
style={{
fontSize: "20px",
letterSpacing: "-0.02em",
dominantBaseline: verticalAlign === "center" ? "middle" : "text-before-edge"
}}
x="50%"
y="50%"
fontSize={fontSize}
fontFamily={fontFamily}
fill={fill}
textAnchor="middle"
dominantBaseline="middle"
>
{logoText}
{text}
</text>
</svg>
);
});
SvgTextLogo.displayName = "SvgTextLogo";
};
export default SvgTextLogo;