Compare commits
4 Commits
version_1_
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| c1af14f61c | |||
|
|
fc66e050fb | ||
| 6b82593e56 | |||
| 26ef3c1e44 |
@@ -1,5 +1,5 @@
|
||||
import FooterSimpleCard from '@/components/sections/footer/FooterSimpleCard';
|
||||
import NavbarFloatingLogo from '@/components/ui/NavbarFloatingLogo';
|
||||
import NavbarInline from '@/components/ui/NavbarInline';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot";
|
||||
import { Outlet } from 'react-router-dom';
|
||||
@@ -18,9 +18,8 @@ export default function Layout() {
|
||||
<StyleProvider buttonVariant="default" siteBackground="gridLines" heroBackground="horizonGlow">
|
||||
<SiteBackgroundSlot />
|
||||
<SectionErrorBoundary name="navbar">
|
||||
<NavbarFloatingLogo
|
||||
<NavbarInline
|
||||
logo="Pimentel Pools"
|
||||
logoImageSrc="http://img.b2bpic.net/free-vector/modern-architecture-business-card-template_742173-33037.jpg"
|
||||
ctaButton={{
|
||||
text: "Get a Quote", href: "/contact"}}
|
||||
navItems={navItems} />
|
||||
|
||||
@@ -1,224 +1,30 @@
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import HeroSplitMediaGrid from '@/components/sections/hero/HeroSplitMediaGrid';
|
||||
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
// AUTO-GENERATED shell by per-section-migrate.
|
||||
// Section bodies live in ./<PageBase>/sections/<X>.tsx. Edit the section
|
||||
// files directly. Non-block content (wrappers, non-inlinable sections) is
|
||||
// preserved inline; extracted section blocks become <XSection/> refs.
|
||||
|
||||
export default function HomePage() {
|
||||
import React from 'react';
|
||||
import HeroSection from './HomePage/sections/Hero';
|
||||
import ServicesSection from './HomePage/sections/Services';
|
||||
import WhyUsSection from './HomePage/sections/WhyUs';
|
||||
import TestimonialsSection from './HomePage/sections/Testimonials';
|
||||
import FaqSection from './HomePage/sections/Faq';
|
||||
import ContactSection from './HomePage/sections/Contact';
|
||||
|
||||
export default function HomePage(): React.JSX.Element {
|
||||
return (
|
||||
<>
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitMediaGrid
|
||||
tag="Expertise in Bermuda"
|
||||
title="Transforming Bermuda's Pools Into Stunning Outdoor Retreats"
|
||||
description="From custom pool construction to expert restoration and maintenance, Pimentel Pools delivers exceptional craftsmanship backed by decades of experience."
|
||||
primaryButton={{
|
||||
text: "Request a Free Quote",
|
||||
href: "/contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Our Projects",
|
||||
href: "/portfolio",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pool_74190-1975.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-young-asian-woman-relaxing-around-outdoor-swimming-pool-hotel-resort_74190-13555.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<>
|
||||
<HeroSection />
|
||||
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Our Expertise"
|
||||
title="Premium Pool Services"
|
||||
description="Comprehensive solutions for construction, restoration, and maintenance to keep your pool pristine."
|
||||
items={[
|
||||
{
|
||||
title: "Custom Construction",
|
||||
description: "High-end luxury pool design and installations.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/water-home-landscaping-outdoor-hot_1232-4040.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pool Restoration",
|
||||
description: "Resurfacing, tile replacement, and structural repairs.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/paradise-pool-summer-water-thailand_1203-5693.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pool Maintenance",
|
||||
description: "Routine cleaning and seasonal care plans.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/focused-woman-straw-hat-sitting-poolside_74855-6013.jpg",
|
||||
},
|
||||
{
|
||||
title: "Renovations",
|
||||
description: "Modern upgrades and deck enhancements.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/swimming-pool-top-view_1150-11005.jpg",
|
||||
},
|
||||
{
|
||||
title: "Equipment Repair",
|
||||
description: "Expert leak detection and equipment inspections.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pensive-man-using-tablet-standing-city-park_1262-20294.jpg",
|
||||
},
|
||||
{
|
||||
title: "Custom Features",
|
||||
description: "Water features and lighting designs.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-view-stone-tiles-swimming-pool_176420-1488.jpg",
|
||||
},
|
||||
{
|
||||
title: "Water Balancing",
|
||||
description: "Expert water management services.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-focused-woman-working-with-tablet-swimming-pool_74855-6086.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ServicesSection />
|
||||
|
||||
<div id="why-us" data-section="why-us">
|
||||
<SectionErrorBoundary name="why-us">
|
||||
<MetricsFeatureCards
|
||||
tag="Why Choose Us"
|
||||
title="Trusted Experts in Bermuda"
|
||||
description="Decades of experience serving Bermuda homeowners with unmatched quality."
|
||||
metrics={[
|
||||
{
|
||||
value: "20+",
|
||||
title: "Years Experience",
|
||||
features: [
|
||||
"Bermuda-based experts",
|
||||
"Licensed & insured",
|
||||
"Reliable service",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "500+",
|
||||
title: "Projects Completed",
|
||||
features: [
|
||||
"Custom craftsmanship",
|
||||
"Personalized designs",
|
||||
"Attention to detail",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "3k+",
|
||||
title: "Service Visits",
|
||||
features: [
|
||||
"Routine maintenance",
|
||||
"Water chemistry",
|
||||
"Equipment care",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<WhyUsSection />
|
||||
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialColumnMarqueeCards
|
||||
tag="Testimonials"
|
||||
title="What Our Clients Say"
|
||||
description="Building trust through professional, high-quality workmanship."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah Miller",
|
||||
role: "Homeowner",
|
||||
quote: "Pimentel Pools completely transformed our backyard. Exceptional quality and communication throughout.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-sunglasses-hat-drinking-cocktail-sitting-near-pool_176420-3985.jpg",
|
||||
},
|
||||
{
|
||||
name: "David Clark",
|
||||
role: "Property Manager",
|
||||
quote: "Reliable and professional. They handled our pool restoration with amazing attention to detail.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/girl-sitting_1303-3690.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily Watson",
|
||||
role: "Homeowner",
|
||||
quote: "Fantastic service. Our pool looks brand new again after their restoration project.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-young-asian-woman-relaxes-leisure-around-swimming-pool_74190-11554.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mark Stevens",
|
||||
role: "Entrepreneur",
|
||||
quote: "The best pool service in Bermuda. Consistent quality and expert maintenance.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-gardner-greenhouse_1303-14078.jpg",
|
||||
},
|
||||
{
|
||||
name: "Julia Bennett",
|
||||
role: "Designer",
|
||||
quote: "Amazing craftsmanship on our custom luxury pool. Highly recommended.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/part-memorial-complex-fountain_23-2148184276.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<TestimonialsSection />
|
||||
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Support"
|
||||
title="Frequently Asked Questions"
|
||||
description="Answers to common questions about our pool services in Bermuda."
|
||||
items={[
|
||||
{
|
||||
question: "How long does pool construction take?",
|
||||
answer: "Construction times vary by design complexity, but we provide clear timelines upfront.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer maintenance plans?",
|
||||
answer: "Yes, we provide routine cleaning, water balancing, and equipment inspection plans.",
|
||||
},
|
||||
{
|
||||
question: "Can you restore older pools?",
|
||||
answer: "Absolutely. We specialize in restorations, resurfacing, and modernizing older pool structures.",
|
||||
},
|
||||
{
|
||||
question: "Do you provide free estimates?",
|
||||
answer: "Yes, we offer free site assessments and custom proposals for all projects.",
|
||||
},
|
||||
{
|
||||
question: "What areas of Bermuda do you serve?",
|
||||
answer: "We serve all areas of Bermuda with our comprehensive construction and maintenance services.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/modern-minimalist-architecture-with-pool-reflection_23-2151993723.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<FaqSection />
|
||||
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Get Started"
|
||||
text="Ready to transform your pool? Schedule your free consultation with Bermuda's pool experts today."
|
||||
primaryButton={{
|
||||
text: "Schedule Your Free Consultation",
|
||||
href: "/contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Us Directly",
|
||||
href: "tel:+14412938817",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
<ContactSection />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "contact" section.
|
||||
|
||||
import React from 'react';
|
||||
import ContactCta from '@/components/sections/contact/ContactCta';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ContactSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="contact" data-section="contact">
|
||||
<SectionErrorBoundary name="contact">
|
||||
<ContactCta
|
||||
tag="Get Started"
|
||||
text="Ready to transform your pool? Schedule your free consultation with Bermuda's pool experts today."
|
||||
primaryButton={{
|
||||
text: "Schedule Your Free Consultation",
|
||||
href: "/contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "Contact Us Directly",
|
||||
href: "tel:+14412938817",
|
||||
}}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
43
src/pages/HomePage/sections/Faq.tsx
Normal file
43
src/pages/HomePage/sections/Faq.tsx
Normal file
@@ -0,0 +1,43 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "faq" section.
|
||||
|
||||
import React from 'react';
|
||||
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function FaqSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="faq" data-section="faq">
|
||||
<SectionErrorBoundary name="faq">
|
||||
<FaqSplitMedia
|
||||
tag="Support"
|
||||
title="Frequently Asked Questions"
|
||||
description="Answers to common questions about our pool services in Bermuda."
|
||||
items={[
|
||||
{
|
||||
question: "How long does pool construction take?",
|
||||
answer: "Construction times vary by design complexity, but we provide clear timelines upfront.",
|
||||
},
|
||||
{
|
||||
question: "Do you offer maintenance plans?",
|
||||
answer: "Yes, we provide routine cleaning, water balancing, and equipment inspection plans.",
|
||||
},
|
||||
{
|
||||
question: "Can you restore older pools?",
|
||||
answer: "Absolutely. We specialize in restorations, resurfacing, and modernizing older pool structures.",
|
||||
},
|
||||
{
|
||||
question: "Do you provide free estimates?",
|
||||
answer: "Yes, we offer free site assessments and custom proposals for all projects.",
|
||||
},
|
||||
{
|
||||
question: "What areas of Bermuda do you serve?",
|
||||
answer: "We serve all areas of Bermuda with our comprehensive construction and maintenance services.",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/modern-minimalist-architecture-with-pool-reflection_23-2151993723.jpg"
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
36
src/pages/HomePage/sections/Hero.tsx
Normal file
36
src/pages/HomePage/sections/Hero.tsx
Normal file
@@ -0,0 +1,36 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "hero" section.
|
||||
|
||||
import React from 'react';
|
||||
import HeroSplitMediaGrid from '@/components/sections/hero/HeroSplitMediaGrid';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function HeroSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="hero" data-section="hero">
|
||||
<SectionErrorBoundary name="hero">
|
||||
<HeroSplitMediaGrid
|
||||
tag="Expertise in Bermuda"
|
||||
title="Transforming Bermuda's Pools Into Stunning Outdoor Retreats"
|
||||
description="From custom pool construction to expert restoration and maintenance, Pimentel Pools delivers exceptional craftsmanship backed by decades of experience."
|
||||
primaryButton={{
|
||||
text: "Request a Free Quote",
|
||||
href: "/contact",
|
||||
}}
|
||||
secondaryButton={{
|
||||
text: "View Our Projects",
|
||||
href: "/portfolio",
|
||||
}}
|
||||
items={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pool_74190-1975.jpg",
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-young-asian-woman-relaxing-around-outdoor-swimming-pool-hotel-resort_74190-13555.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
64
src/pages/HomePage/sections/Services.tsx
Normal file
64
src/pages/HomePage/sections/Services.tsx
Normal file
@@ -0,0 +1,64 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "services" section.
|
||||
|
||||
import React from 'react';
|
||||
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function ServicesSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="services" data-section="services">
|
||||
<SectionErrorBoundary name="services">
|
||||
<FeaturesRevealCardsBento
|
||||
tag="Our Expertise"
|
||||
title="Premium Pool Services"
|
||||
description="Comprehensive solutions for construction, restoration, and maintenance to keep your pool pristine."
|
||||
items={[
|
||||
{
|
||||
title: "Custom Construction",
|
||||
description: "High-end luxury pool design and installations.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/water-home-landscaping-outdoor-hot_1232-4040.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pool Restoration",
|
||||
description: "Resurfacing, tile replacement, and structural repairs.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/paradise-pool-summer-water-thailand_1203-5693.jpg",
|
||||
},
|
||||
{
|
||||
title: "Pool Maintenance",
|
||||
description: "Routine cleaning and seasonal care plans.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/focused-woman-straw-hat-sitting-poolside_74855-6013.jpg",
|
||||
},
|
||||
{
|
||||
title: "Renovations",
|
||||
description: "Modern upgrades and deck enhancements.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/swimming-pool-top-view_1150-11005.jpg",
|
||||
},
|
||||
{
|
||||
title: "Equipment Repair",
|
||||
description: "Expert leak detection and equipment inspections.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/pensive-man-using-tablet-standing-city-park_1262-20294.jpg",
|
||||
},
|
||||
{
|
||||
title: "Custom Features",
|
||||
description: "Water features and lighting designs.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/beautiful-view-stone-tiles-swimming-pool_176420-1488.jpg",
|
||||
},
|
||||
{
|
||||
title: "Water Balancing",
|
||||
description: "Expert water management services.",
|
||||
href: "/services",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/smiling-focused-woman-working-with-tablet-swimming-pool_74855-6086.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
@@ -0,0 +1,52 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "testimonials" section.
|
||||
|
||||
import React from 'react';
|
||||
import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function TestimonialsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="testimonials" data-section="testimonials">
|
||||
<SectionErrorBoundary name="testimonials">
|
||||
<TestimonialColumnMarqueeCards
|
||||
tag="Testimonials"
|
||||
title="What Our Clients Say"
|
||||
description="Building trust through professional, high-quality workmanship."
|
||||
testimonials={[
|
||||
{
|
||||
name: "Sarah Miller",
|
||||
role: "Homeowner",
|
||||
quote: "Pimentel Pools completely transformed our backyard. Exceptional quality and communication throughout.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/man-sunglasses-hat-drinking-cocktail-sitting-near-pool_176420-3985.jpg",
|
||||
},
|
||||
{
|
||||
name: "David Clark",
|
||||
role: "Property Manager",
|
||||
quote: "Reliable and professional. They handled our pool restoration with amazing attention to detail.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/girl-sitting_1303-3690.jpg",
|
||||
},
|
||||
{
|
||||
name: "Emily Watson",
|
||||
role: "Homeowner",
|
||||
quote: "Fantastic service. Our pool looks brand new again after their restoration project.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-young-asian-woman-relaxes-leisure-around-swimming-pool_74190-11554.jpg",
|
||||
},
|
||||
{
|
||||
name: "Mark Stevens",
|
||||
role: "Entrepreneur",
|
||||
quote: "The best pool service in Bermuda. Consistent quality and expert maintenance.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/woman-gardner-greenhouse_1303-14078.jpg",
|
||||
},
|
||||
{
|
||||
name: "Julia Bennett",
|
||||
role: "Designer",
|
||||
quote: "Amazing craftsmanship on our custom luxury pool. Highly recommended.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/part-memorial-complex-fountain_23-2148184276.jpg",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
49
src/pages/HomePage/sections/WhyUs.tsx
Normal file
49
src/pages/HomePage/sections/WhyUs.tsx
Normal file
@@ -0,0 +1,49 @@
|
||||
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
|
||||
// file as the canonical source for the "why-us" section.
|
||||
|
||||
import React from 'react';
|
||||
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
|
||||
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
|
||||
|
||||
export default function WhyUsSection(): React.JSX.Element {
|
||||
return (
|
||||
<div id="why-us" data-section="why-us">
|
||||
<SectionErrorBoundary name="why-us">
|
||||
<MetricsFeatureCards
|
||||
tag="Why Choose Us"
|
||||
title="Trusted Experts in Bermuda"
|
||||
description="Decades of experience serving Bermuda homeowners with unmatched quality."
|
||||
metrics={[
|
||||
{
|
||||
value: "20+",
|
||||
title: "Years Experience",
|
||||
features: [
|
||||
"Bermuda-based experts",
|
||||
"Licensed & insured",
|
||||
"Reliable service",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "500+",
|
||||
title: "Projects Completed",
|
||||
features: [
|
||||
"Custom craftsmanship",
|
||||
"Personalized designs",
|
||||
"Attention to detail",
|
||||
],
|
||||
},
|
||||
{
|
||||
value: "3k+",
|
||||
title: "Service Visits",
|
||||
features: [
|
||||
"Routine maintenance",
|
||||
"Water chemistry",
|
||||
"Equipment care",
|
||||
],
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</SectionErrorBoundary>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user