Merge version_5_1783337117792 into main #6

Merged
bender merged 1 commits from version_5_1783337117792 into main 2026-07-06 11:27:36 +00:00
9 changed files with 326 additions and 177 deletions

View File

@@ -1,189 +1,37 @@
import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
import MetricsFeatureCards from '@/components/sections/metrics/MetricsFeatureCards';
import TeamListCards from '@/components/sections/team/TeamListCards';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
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 ProductsSection from './HomePage/sections/Products';
import TeamSection from './HomePage/sections/Team';
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">
<HeroTiltedCards
tag="Sinceasdfasdfasdfasdf 1985"
title="Baking warmth iasdfasdfasdfnto every loaf."
description="Authentic, handcrafted breads and pastrieasdfasdfasdfasds made with organic ingredients daily in our kitchen."
primaryButton={{
text: "asdfasdfasdfasdfasdfasdfasdfasdfSee Menu", href: "#products"}}
secondaryButton={{
text: "asdfasdfasdfasdasdfasdfasdfasdOur Story", href: "#about"}}
items={[
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
]}
textAnimation="fade-blur"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutMediaOverlay
tag="Our Heritsdfasdfasdfasdfasdfage"
title="Handmasdfasdfasdfasdfade with love."
description="From our heritage starters to local flour, we honor traditional techniques to bring you the best qasdfasdfasdfasdfasdfuality baked goods every morning."
primaryButton={{
text: "sdfasdfasdfasdfasdfsdfasdfasdfasdfasdfVisit Us", href: "#contact"}}
imageSrc="https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Daily Fresasdfasdfasdfasdfasdhness"
title="From Ouasdfasdfasdfasdfasdr Oven"
description="Discover our signature range of artisaasdfasdfasdfasdfasdfasdfnal products crafted to perfection."
items={[
{
title: "Sourdough", description: "Classic 24-hour fermented rustic loaf.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Croissants", description: "Buttery, flaky, and golden perfection.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Muffins", description: "Fresh berries and organic flour mix.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Cookies", description: "Loaded with Belgian dark chocolate.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Cinnamon Rolls", description: "Warm, glazed, and decadently spiced.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Danishes", description: "Seasonal fruit and custard delight.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Baguettes", description: "Crispy crust with airy light crumb.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
]}
textAnimation="fade"
/>
</SectionErrorBoundary>
</div>
<ProductsSection />
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamListCards
tag="Meet the asdfasfasdfasdfasdArtists"
title="The Handasdfasdfasdfasdfas Behind"
description="Our team of dedicated bakers and pastry asdfasdfasdfasdfasdfaschefs ensuring every morning starts fresh."
groups={[
{
title: "Bakery Leads", members: [
{
name: "Elena Rossi", role: "Head Baker", detail: "Master of heritage sourdough techniques.", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "Marcello V.", role: "Pastry Chef", detail: "Specializing in refined French patisserie.", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "Sarah Jenkins", role: "Operations Manager", detail: "Ensuring the heart of the shop runs smooth.", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
],
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<TeamSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Customer Joy"
title="Loved by locals"
description="Hear what our regulars say about their morning favorites."
testimonials={[
{
name: "Maria C.", role: "Local Teacher", company: "St. Paul School", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "James B.", role: "Artist", company: "Independent", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "Anna K.", role: "Customer", company: "Neighborhood", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "David W.", role: "Professional", company: "TechDesk", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "Lisa M.", role: "Regular", company: "Creative Hub", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
]}
textAnimation="fade-blur"
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsFeatureCards
tag="Our Impact"
title="Bakery in Numbers"
description="Dedication to tradition leads to these daily results."
metrics={[
{
value: "120+", title: "Loaves Baked Daily", features: [
"Organic Flour", "Zero Preservatives"],
},
{
value: "15+", title: "Unique Pastries", features: [
"Seasonal Fruits", "Local Dairy"],
},
{
value: "500+", title: "Happy Neighbors", features: [
"Early Bird Special", "Daily Smiles"],
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTwoColumn
tag="Common Queries"
title="Need Information?"
description="Answers to our most common bakery inquiries."
items={[
{
question: "Are your goods organic?", answer: "Yes, we prioritize organic flour and seasonal fruits."},
{
question: "Can I pre-order?", answer: "Absolutely! Reach out via phone or email for large orders."},
{
question: "Do you offer wholesale?", answer: "Yes, we work with local cafes and restaurants."},
{
question: "What are your hours?", answer: "We are open 6AM to 6PM daily."},
]}
textAnimation="fade"
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get in Touch"
text="Have a large catering request or just want to pre-order? Let's connect."
primaryButton={{
text: "Contact Us", href: "mailto:orders@artisana.com"}}
secondaryButton={{
text: "Call Now", href: "tel:5550102030"}}
textAnimation="fade-blur"
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,24 @@
// 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="Our Heritsdfasdfasdfasdfasdfage"
title="Handmasdfasdfasdfasdfade with love."
description="From our heritage starters to local flour, we honor traditional techniques to bring you the best qasdfasdfasdfasdfasdfuality baked goods every morning."
primaryButton={{
text: "sdfasdfasdfasdfasdfsdfasdfasdfasdfasdfVisit Us", href: "#contact"}}
imageSrc="https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,71 @@
/* eslint-disable */
// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body
import ScrollReveal from "@/components/ui/ScrollReveal";
import TextAnimation from "@/components/ui/TextAnimation";
import Button from "@/components/ui/Button";
const primaryButton = {
text: "Contact Us",
href: "mailto:orders@artisana.com"
};
const secondaryButton = {
text: "Call Now",
href: "tel:5550102030"
};
const ContactInline = () => {
return (
<section aria-label="Contact section" className="py-20">
<div className="w-content-width mx-auto">
<ScrollReveal variant="fade-blur">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-8 lg:gap-12 items-stretch">
<div className="flex flex-col items-start gap-6 py-12 px-8 rounded card justify-center">
<div className="px-3 py-1 mb-1 text-sm bg-background rounded w-fit">
<p>{"Visit Us"}</p>
</div>
<TextAnimation
text={"Come say hi and smell the fresh bread."}
variant={"fade-blur"}
gradientText={true}
tag="h2"
className="text-4xl md:text-5xl leading-[1.15] font-semibold text-left text-balance"
/>
<div className="flex flex-col gap-4 text-accent text-lg mt-4">
<p><strong className="text-foreground">Address:</strong> 123 Baker Street, Artisan District, NY 10001</p>
<p><strong className="text-foreground">Hours:</strong> Tue - Sun: 7:00 AM - 4:00 PM</p>
</div>
<div className="flex flex-wrap justify-start gap-3 mt-4">
<Button text={primaryButton.text} href={primaryButton.href} variant="primary" />
<Button text={secondaryButton.text} href={secondaryButton.href} variant="secondary" animationDelay={0.1} />
</div>
</div>
<div className="h-[400px] lg:h-auto min-h-[400px] rounded card overflow-hidden relative">
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3022.617548294529!2d-73.9878239234699!3d40.7484404713875!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89c259a9b3117469%3A0xd134e199a405a163!2sEmpire%20State%20Building!5e0!3m2!1sen!2sus!4v1709664531123!5m2!1sen!2sus"
width="100%"
height="100%"
style={{ border: 0 }}
allowFullScreen={true}
loading="lazy"
referrerPolicy="no-referrer-when-downgrade"
className="absolute inset-0 w-full h-full grayscale opacity-80 hover:grayscale-0 hover:opacity-100 transition-all duration-500"
title="Bakery Location"
></iframe>
</div>
</div>
</ScrollReveal>
</div>
</section>
);
};
export default function ContactSection() {
return (
<div data-webild-section="contact" data-section="contact" id="contact">
<ContactInline />
</div>
);
}

View File

@@ -0,0 +1,31 @@
// 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 FaqTwoColumn from '@/components/sections/faq/FaqTwoColumn';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTwoColumn
tag="Common Queries"
title="Need Information?"
description="Answers to our most common bakery inquiries."
items={[
{
question: "Are your goods organic?", answer: "Yes, we prioritize organic flour and seasonal fruits."},
{
question: "Can I pre-order?", answer: "Absolutely! Reach out via phone or email for large orders."},
{
question: "Do you offer wholesale?", answer: "Yes, we work with local cafes and restaurants."},
{
question: "What are your hours?", answer: "We are open 6AM to 6PM daily."},
]}
textAnimation="fade"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,32 @@
// 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 HeroTiltedCards from '@/components/sections/hero/HeroTiltedCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroTiltedCards
tag="Sinceasdfasdfasdfasdf 1985"
title="Baking warmth iasdfasdfasdfnto every loaf."
description="Authentic, handcrafted breads and pastrieasdfasdfasdfasds made with organic ingredients daily in our kitchen."
primaryButton={{
text: "asdfasdfasdfasdfasdfasdfasdfasdfSee Menu", href: "#products"}}
secondaryButton={{
text: "asdfasdfasdfasdasdfasdfasdfasdOur Story", href: "#about"}}
items={[
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
{ imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png" },
]}
textAnimation="fade-blur"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,35 @@
// 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="Our Impact"
title="Bakery in Numbers"
description="Dedication to tradition leads to these daily results."
metrics={[
{
value: "120+", title: "Loaves Baked Daily", features: [
"Organic Flour", "Zero Preservatives"],
},
{
value: "15+", title: "Unique Pastries", features: [
"Seasonal Fruits", "Local Dairy"],
},
{
value: "500+", title: "Happy Neighbors", features: [
"Early Bird Special", "Daily Smiles"],
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,37 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "products" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function ProductsSection(): React.JSX.Element {
return (
<div id="products" data-section="products">
<SectionErrorBoundary name="products">
<FeaturesRevealCardsBento
tag="Daily Fresasdfasdfasdfasdfasdhness"
title="From Ouasdfasdfasdfasdfasdr Oven"
description="Discover our signature range of artisaasdfasdfasdfasdfasdfasdfnal products crafted to perfection."
items={[
{
title: "Sourdough", description: "Classic 24-hour fermented rustic loaf.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Croissants", description: "Buttery, flaky, and golden perfection.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Muffins", description: "Fresh berries and organic flour mix.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Cookies", description: "Loaded with Belgian dark chocolate.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Cinnamon Rolls", description: "Warm, glazed, and decadently spiced.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Danishes", description: "Seasonal fruit and custard delight.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
title: "Baguettes", description: "Crispy crust with airy light crumb.", href: "#", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
]}
textAnimation="fade"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,33 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "team" section.
import React from 'react';
import TeamListCards from '@/components/sections/team/TeamListCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TeamSection(): React.JSX.Element {
return (
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamListCards
tag="Meet the asdfasfasdfasdfasdArtists"
title="The Handasdfasdfasdfasdfas Behind"
description="Our team of dedicated bakers and pastry asdfasdfasdfasdfasdfaschefs ensuring every morning starts fresh."
groups={[
{
title: "Bakery Leads", members: [
{
name: "Elena Rossi", role: "Head Baker", detail: "Master of heritage sourdough techniques.", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "Marcello V.", role: "Pastry Chef", detail: "Specializing in refined French patisserie.", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "Sarah Jenkins", role: "Operations Manager", detail: "Ensuring the heart of the shop runs smooth.", imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
],
},
]}
textAnimation="slide-up"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,38 @@
// 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 TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialOverlayCards
tag="Customer Joy"
title="Loved by locals"
description="Hear what our regulars say about their morning favorites."
testimonials={[
{
name: "Maria C.", role: "Local Teacher", company: "St. Paul School", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "James B.", role: "Artist", company: "Independent", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "Anna K.", role: "Customer", company: "Neighborhood", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "David W.", role: "Professional", company: "TechDesk", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
{
name: "Lisa M.", role: "Regular", company: "Creative Hub", rating: 5,
imageSrc: "https://storage.googleapis.com/webild/users/user_39wSE8YJoGda03bkKGOyyo2rjk4/uploaded-1781466517590-kavaf4h5.png"},
]}
textAnimation="fade-blur"
/>
</SectionErrorBoundary>
</div>
);
}