29 Commits

Author SHA1 Message Date
9c7b4e27a7 Merge version_13_1782936642599 into main
Merge version_13_1782936642599 into main
2026-07-01 20:14:14 +00:00
kudinDmitriyUp
33e5c32e88 Bob AI: Fix rendering errors in Features section by using supported 2026-07-01 20:13:26 +00:00
09679e5980 Merge version_12_1782936240674 into main
Merge version_12_1782936240674 into main
2026-07-01 20:05:38 +00:00
kudinDmitriyUp
be1422c37b Bob AI: Fix prop name in features section to resolve rendering error 2026-07-01 20:04:56 +00:00
3736303cd7 Merge version_11_1782933229537 into main
Merge version_11_1782933229537 into main
2026-07-01 19:14:22 +00:00
kudinDmitriyUp
4dbefbd3ae Bob AI: Fix the 'Honest Service' card in the features section so its content populates a 2026-07-01 19:14:19 +00:00
52ca1cb1db Merge version_10_1782932495067 into main
Merge version_10_1782932495067 into main
2026-07-01 19:02:20 +00:00
53c8e40574 Update src/pages/HomePage/sections/Hero.tsx 2026-07-01 19:02:14 +00:00
6b51d254f4 Merge version_10_1782932495067 into main
Merge version_10_1782932495067 into main
2026-07-01 19:02:05 +00:00
kudinDmitriyUp
64f6daadb5 Bob AI: Update the image source in the hero section to 'http://img.b2bpic.net/free-photo 2026-07-01 19:02:02 +00:00
be2718c2a0 Merge version_9_1782932451134 into main
Merge version_9_1782932451134 into main
2026-07-01 19:01:05 +00:00
b19e30525e Update src/pages/HomePage/sections/Hero.tsx 2026-07-01 19:01:02 +00:00
809e4c5696 Merge version_8_1782932275762 into main
Merge version_8_1782932275762 into main
2026-07-01 18:58:10 +00:00
ecea24aa61 Update src/pages/HomePage/sections/Hero.tsx 2026-07-01 18:58:07 +00:00
ad3822b31c Merge version_7_1782932217376 into main
Merge version_7_1782932217376 into main
2026-07-01 18:57:15 +00:00
bfd1c1359d Update src/pages/HomePage/sections/Hero.tsx 2026-07-01 18:57:08 +00:00
3be0d9462d Merge version_6_1782923391695 into main
Merge version_6_1782923391695 into main
2026-07-01 16:30:47 +00:00
kudinDmitriyUp
4a1c91708e Bob AI: Fix the hero image rendering. The user reports it 'isn't showing as a photo'. En 2026-07-01 16:30:41 +00:00
250ee89c73 Merge version_5_1782923255158 into main
Merge version_5_1782923255158 into main
2026-07-01 16:28:20 +00:00
kudinDmitriyUp
306604d826 Bob AI: Replace the skateboarding photos in the hero section with pool photos. 2026-07-01 16:28:16 +00:00
6f284212c3 Merge version_4_1782923093057 into main
Merge version_4_1782923093057 into main
2026-07-01 16:26:12 +00:00
kudinDmitriyUp
27ae174124 Bob AI: Removed crystalline background water image from hero section 2026-07-01 16:25:29 +00:00
5c76c0ca16 Merge version_3_1782923009331 into main
Merge version_3_1782923009331 into main
2026-07-01 16:23:43 +00:00
30095d07fa Update src/pages/HomePage/sections/Hero.tsx 2026-07-01 16:23:40 +00:00
dd0f305656 Merge version_2_1782922325624 into main
Merge version_2_1782922325624 into main
2026-07-01 16:13:39 +00:00
kudinDmitriyUp
7f319c8dd9 Bob AI: Removed process link from top navigation 2026-07-01 16:12:46 +00:00
a1bdccd85b Merge version_1_1782921679848 into main
Merge version_1_1782921679848 into main
2026-07-01 16:04:10 +00:00
234d6ccd8c Merge version_1_1782921679848 into main
Merge version_1_1782921679848 into main
2026-07-01 16:03:12 +00:00
ffe47b8e97 Merge version_1_1782921679848 into main
Merge version_1_1782921679848 into main
2026-07-01 16:01:48 +00:00
10 changed files with 245 additions and 166 deletions

View File

@@ -12,10 +12,6 @@ export default function Layout() {
"name": "Services",
"href": "#services"
},
{
"name": "Process",
"href": "#process"
},
{
"name": "Reviews",
"href": "#testimonials"

View File

@@ -1,173 +1,37 @@
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSplitMedia from '@/components/sections/faq/FaqSplitMedia';
import FeaturesBento from '@/components/sections/features/FeaturesBento';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroSplitVerticalMarqueeTall from '@/components/sections/hero/HeroSplitVerticalMarqueeTall';
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
import TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
// AUTO-GENERATED shell by per-section-migrate.
// Section bodies live in the sibling sections/ folder (one file per section).
// Edit those section files directly. Non-block content (wrappers,
// non-inlinable sections) is preserved inline; extracted section blocks
// become component refs.
export default function HomePage() {
import React from 'react';
import HeroSection from './HomePage/sections/Hero';
import AboutSection from './HomePage/sections/About';
import FeaturesSection from './HomePage/sections/Features';
import ServicesSection from './HomePage/sections/Services';
import TestimonialsSection from './HomePage/sections/Testimonials';
import MetricsSection from './HomePage/sections/Metrics';
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">
<HeroSplitVerticalMarqueeTall
tag="Mansfield's Premier Pool Experts"
title="Your Pool. Crystal Clear. Professionally Maintained."
description="Reliable pool cleaning, maintenance, green pool recovery, and expert care for homeowners across Mansfield."
primaryButton={{
text: "Get Free Consultation", href: "#contact"}}
secondaryButton={{
text: "Call Now", href: "tel:5550123"}}
leftItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-asian-woman-relax-smile-happy-around-outdoor-swimming-pool-hotel-resort-with-sea-ocean-view_74190-9082.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/crop-skateboarder-man-ramp_23-2147678250.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/man-sunglasses-hat-drinking-cocktail-sitting-near-pool_176420-3986.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/skater-board-riding-ramp_23-2147678281.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/water-home-landscaping-outdoor-hot_1232-4040.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/crystalline-background-water-with-icicles_23-2148231645.jpg" },
]}
rightItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-young-woman-relax-smile-leisure-vacation-around-swimming-pool-resort-hotel_74190-14521.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/skaters-walking-ramp_23-2147678244.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/umbrella-chair-around-beautiful-luxury-swimming-pool_74190-2028.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/terrace-exterior-building_1203-3258.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/men-preparing-ride-skateboards_23-2147678227.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/outdoor-swimming-pool_1203-3050.jpg" },
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="About Lion Pool Care"
title="Trusted Service You Can Rely On"
description="We are a family-oriented company serving Mansfield with professional, honest, and reliable pool care. Your satisfaction is our top priority."
imageSrc="http://img.b2bpic.net/free-photo/young-man-holding-cup-drink-t-shirt-jacket-looking-merry-front-view_176474-57822.jpg"
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBento
tag="Why Homeowners Choose Us"
title="Expert Care, Exceptional Results"
description="We treat every pool as if it were our own, ensuring consistent clarity and reliable performance."
features={[
{
title: "Fast Response", description: "Emergency and priority scheduling available when you need it most.", bentoComponent: "orbiting-icons", centerIcon: "Zap", orbitIcons: ["Clock", "AlertTriangle", "Calendar"],
},
{
title: "Honest Service", description: "Transparent recommendations with absolutely no unnecessary upsells.", bentoComponent: "checklist-timeline", heading: "Our Promise", subheading: "Quality Service Every Time", checklistItems: [
{ label: "Transparent pricing", detail: "No hidden fees" },
{ label: "Professional staff", detail: "Certified technicians" },
{ label: "Proven results", detail: "Customer guaranteed" },
],
completedLabel: "Service Done"},
{
title: "Local Expertise", description: "Proudly serving Mansfield and surrounding communities with care.", bentoComponent: "info-card-marquee", infoCards: [
{ icon: "MapPin", label: "Service Area", value: "Mansfield+" },
{ icon: "Star", label: "Ratings", value: "5.0/5" },
{ icon: "Users", label: "Satisfied", value: "100+" },
],
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="services" data-section="services">
<SectionErrorBoundary name="services">
<FeaturesRevealCardsBento
tag="Our Pool Services"
title="Complete Pool Solutions"
description="From weekly cleaning to emergency restoration, we handle it all with precision."
items={[
{ title: "Weekly Cleaning", description: "Comprehensive maintenance including skimming, vacuuming, and chemical checks.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/couple-having-fun-pour-each-other-with-garden-hose_158595-2248.jpg" },
{ title: "Green Recovery", description: "Transforming cloudy or green water back to crystal clear perfection.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-young-asian-woman-relaxing-around-outdoor-swimming-pool-hotel-resort_74190-13554.jpg" },
{ title: "Maintenance", description: "Professional equipment inspections and filter care for peak efficiency.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/variety-african-red-japanese-tea_1203-4304.jpg" },
{ title: "Emergency Help", description: "Fast scheduling for urgent pool issues or restoration needs.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/couple-ready-jump-pool_23-2147664412.jpg" },
{ title: "Chemical Balancing", description: "Precise treatment to ensure healthy, sparkling, and safe pool water.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/chair-background-hotel-summer-sky_1203-4449.jpg" },
{ title: "Filter Service", description: "Deep cleaning and maintenance for your pool's filtration systems.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/outdoor-swimming-pool-with-umbrella-chair-lounge-around-there-leisure-travel_74190-7879.jpg" },
{ title: "Equipment Check", description: "Regular inspections of pumps, filters, and all pool systems.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/front-view-female-scientist-with-potions_23-2148571336.jpg" },
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<ServicesSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeOverlayCards
tag="Customer Reviews"
title="What Homeowners Are Saying"
description="Join our satisfied clients across Mansfield who trust us for their pool care."
testimonials={[
{ name: "Sarah Johnson", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-people-having-fun-enjoying-swimming-pool_259150-59138.jpg" },
{ name: "Michael Chen", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/blond-businessman-surprised-expression_1194-3809.jpg" },
{ name: "Emily Rodriguez", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-man-preparing-skateboarding_23-2147678203.jpg" },
{ name: "David Kim", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/smiling-woman-with-olives-beer_23-2147680964.jpg" },
{ name: "Amanda Smith", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/middle-aged-best-friends-spending-time-together-outside_23-2148979086.jpg" },
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsFeatureCards
tag="Proven Results"
title="Our Impact in Numbers"
description="Delivering clean pools and satisfied customers day in and day out."
metrics={[
{ value: "500+", title: "Pools Serviced", features: ["Regular cleaning", "Restoration projects", "One-time repairs"] },
{ value: "13+", title: "Five-Star Reviews", features: ["Google verified", "Local homeowners", "High satisfaction"] },
{ value: "100%", title: "Service Guaranteed", features: ["Crystal clear", "On-time arrival", "Transparent work"] },
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSplitMedia
tag="Frequently Asked"
title="Need More Information?"
description="Answers to common questions about our services."
items={[
{ question: "How often should my pool be serviced?", answer: "For optimal clarity and balance, weekly maintenance is highly recommended." },
{ question: "Do you treat green pools?", answer: "Yes, we specialize in comprehensive green-to-clean recovery services." },
{ question: "Do you provide emergency service?", answer: "We offer priority scheduling for urgent pool issues in Mansfield." },
{ question: "How quickly can you start?", answer: "Contact us today, and we can typically schedule a consultation within 24-48 hours." },
{ question: "Do I need weekly maintenance?", answer: "Weekly maintenance helps prevent costly issues and ensures your pool stays safe and clean all season." },
]}
imageSrc="http://img.b2bpic.net/free-photo/man-having-online-meeting-work_23-2148940749.jpg"
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get Started"
text="Ready to enjoy your pool without the stress? Book your free consultation today."
primaryButton={{ text: "Get Free Consultation", href: "#contact" }}
secondaryButton={{ text: "Call Now", href: "tel:5550123" }}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}
}

View File

@@ -0,0 +1,22 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "about" section.
import React from 'react';
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="About Lion Pool Care"
title="Trusted Service You Can Rely On"
description="We are a family-oriented company serving Mansfield with professional, honest, and reliable pool care. Your satisfaction is our top priority."
imageSrc="http://img.b2bpic.net/free-photo/young-man-holding-cup-drink-t-shirt-jacket-looking-merry-front-view_176474-57822.jpg"
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,22 @@
// 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 enjoy your pool without the stress? Book your free consultation today."
primaryButton={{ text: "Get Free Consultation", href: "#contact" }}
secondaryButton={{ text: "Call Now", href: "tel:5550123" }}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,29 @@
// 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="Frequently Asked"
title="Need More Information?"
description="Answers to common questions about our services."
items={[
{ question: "How often should my pool be serviced?", answer: "For optimal clarity and balance, weekly maintenance is highly recommended." },
{ question: "Do you treat green pools?", answer: "Yes, we specialize in comprehensive green-to-clean recovery services." },
{ question: "Do you provide emergency service?", answer: "We offer priority scheduling for urgent pool issues in Mansfield." },
{ question: "How quickly can you start?", answer: "Contact us today, and we can typically schedule a consultation within 24-48 hours." },
{ question: "Do I need weekly maintenance?", answer: "Weekly maintenance helps prevent costly issues and ensures your pool stays safe and clean all season." },
]}
imageSrc="http://img.b2bpic.net/free-photo/man-having-online-meeting-work_23-2148940749.jpg"
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,22 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "features" section.
import React from 'react';
import FeaturesBento from '@/components/sections/features/FeaturesBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesBento
tag="Why Homeowners Choose Us"
title="Expert Care, Exceptional Results"
description="We treat every pool as if it were our own, ensuring consistent clarity and reliable performance."
features={[{"centerIcon":"Zap","bentoComponent":"icon-text-marquee","marqueeTexts":["Fast","Priority","Emergency"],"title":"Fast Response","description":"Emergency and priority scheduling available when you need it most."},{"centerIcon":"Shield","bentoComponent":"icon-text-marquee","description":"Transparent recommendations with absolutely no unnecessary upsells.","marqueeTexts":["Honest","Reliable","Transparent"],"title":"Honest Service"},{"bentoComponent":"info-card-marquee","infoCards":[{"label":"Service Area","value":"Mansfield+","icon":"MapPin"},{"label":"Ratings","value":"5.0/5","icon":"Star"},{"label":"Satisfied","value":"100+","icon":"Users"}],"description":"Proudly serving Mansfield and surrounding communities with care.","title":"Local Expertise"}]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,40 @@
// 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 HeroSplitVerticalMarqueeTall from '@/components/sections/hero/HeroSplitVerticalMarqueeTall';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitVerticalMarqueeTall
tag="Mansfield's Premier Pool Experts"
title="Your Pool. Crystal Clear. Professionally Maintained."
description="Reliable pool cleaning, maintenance, green pool recovery, and expert care for homeowners across Mansfield."
primaryButton={{
text: "Get Free Consultation", href: "#contact"}}
secondaryButton={{
text: "Call Now", href: "tel:5550123"}}
leftItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/portrait-young-asian-woman-relax-smile-happy-around-outdoor-swimming-pool-hotel-resort-with-sea-ocean-view_74190-9082.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/swimming-pool_74190-2104.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/man-sunglasses-hat-drinking-cocktail-sitting-near-pool_176420-3986.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/beautiful-luxury-outdoor-swimming-pool-hotel-resort_74190-7433.jpg" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_3FMuvjoF3LtrfnjLatUSKH5GyT3/tmp/backyard-pool-1782932246033-223f49dc.png" },
]}
rightItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-young-woman-relax-smile-leisure-vacation-around-swimming-pool-resort-hotel_74190-14521.jpg" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_3FMuvjoF3LtrfnjLatUSKH5GyT3/tmp/pristine-pool-1782922995064-182499d2.png?_wi=1" },
{ imageSrc: "http://img.b2bpic.net/free-photo/umbrella-chair-around-beautiful-luxury-swimming-pool_74190-2028.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/terrace-exterior-building_1203-3258.jpg" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_3FMuvjoF3LtrfnjLatUSKH5GyT3/tmp/pristine-pool-1782922995064-182499d2.png?_wi=2" },
{ imageSrc: "http://img.b2bpic.net/free-photo/outdoor-swimming-pool_1203-3050.jpg" },
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,26 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "metrics" section.
import React from 'react';
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsFeatureCards
tag="Proven Results"
title="Our Impact in Numbers"
description="Delivering clean pools and satisfied customers day in and day out."
metrics={[
{ value: "500+", title: "Pools Serviced", features: ["Regular cleaning", "Restoration projects", "One-time repairs"] },
{ value: "13+", title: "Five-Star Reviews", features: ["Google verified", "Local homeowners", "High satisfaction"] },
{ value: "100%", title: "Service Guaranteed", features: ["Crystal clear", "On-time arrival", "Transparent work"] },
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,30 @@
// 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 Pool Services"
title="Complete Pool Solutions"
description="From weekly cleaning to emergency restoration, we handle it all with precision."
items={[
{ title: "Weekly Cleaning", description: "Comprehensive maintenance including skimming, vacuuming, and chemical checks.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/couple-having-fun-pour-each-other-with-garden-hose_158595-2248.jpg" },
{ title: "Green Recovery", description: "Transforming cloudy or green water back to crystal clear perfection.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/portrait-beautiful-young-asian-woman-relaxing-around-outdoor-swimming-pool-hotel-resort_74190-13554.jpg" },
{ title: "Maintenance", description: "Professional equipment inspections and filter care for peak efficiency.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/variety-african-red-japanese-tea_1203-4304.jpg" },
{ title: "Emergency Help", description: "Fast scheduling for urgent pool issues or restoration needs.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/couple-ready-jump-pool_23-2147664412.jpg" },
{ title: "Chemical Balancing", description: "Precise treatment to ensure healthy, sparkling, and safe pool water.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/chair-background-hotel-summer-sky_1203-4449.jpg" },
{ title: "Filter Service", description: "Deep cleaning and maintenance for your pool's filtration systems.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/outdoor-swimming-pool-with-umbrella-chair-lounge-around-there-leisure-travel_74190-7879.jpg" },
{ title: "Equipment Check", description: "Regular inspections of pumps, filters, and all pool systems.", href: "#contact", imageSrc: "http://img.b2bpic.net/free-photo/front-view-female-scientist-with-potions_23-2148571336.jpg" },
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,28 @@
// 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 TestimonialMarqueeOverlayCards from '@/components/sections/testimonial/TestimonialMarqueeOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeOverlayCards
tag="Customer Reviews"
title="What Homeowners Are Saying"
description="Join our satisfied clients across Mansfield who trust us for their pool care."
testimonials={[
{ name: "Sarah Johnson", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-people-having-fun-enjoying-swimming-pool_259150-59138.jpg" },
{ name: "Michael Chen", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/blond-businessman-surprised-expression_1194-3809.jpg" },
{ name: "Emily Rodriguez", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/young-man-preparing-skateboarding_23-2147678203.jpg" },
{ name: "David Kim", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/smiling-woman-with-olives-beer_23-2147680964.jpg" },
{ name: "Amanda Smith", role: "Homeowner", company: "Mansfield", rating: 5, imageSrc: "http://img.b2bpic.net/free-photo/middle-aged-best-friends-spending-time-together-outside_23-2148979086.jpg" },
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}