Merge version_2_1782494294238 into main #2

Merged
bender merged 1 commits from version_2_1782494294238 into main 2026-06-26 17:20:11 +00:00
10 changed files with 318 additions and 138 deletions

View File

@@ -1,150 +1,38 @@
import AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
import PricingMediaCards from '@/components/sections/pricing/PricingMediaCards';
import TeamOverlayCards from '@/components/sections/team/TeamOverlayCards';
import TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
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 AboutSection from './HomePage/sections/About';
import MenuSection from './HomePage/sections/Menu';
import PricingSection from './HomePage/sections/Pricing';
import TeamSection from './HomePage/sections/Team';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
import LocationSection from './HomePage/sections/Location';export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitVerticalMarquee
tag="Since 1998"
title="Bridgeport's Favorite NY-Style Pizza"
description="Authentic, thin-crust, and cooked to perfection. Taste the tradition that keeps the community coming back for more."
primaryButton={{
text: "Order Now", href: "#contact"}}
secondaryButton={{
text: "View Menu", href: "#menu"}}
leftItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-italian-pizza-about-cheese-it-stick-selective-focus-generative-ai_1258-153039.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/homemade-sandwich-filled-with-chicken-vegetables-glass-cold-carbonated-juice_181624-56464.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-melted-cheese-pizza_23-2149286881.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/vertical-view-crispy-fried-chicken-with-mayonnaise-ketchup_140725-54247.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/grilled-meat-sandwich-with-fresh-vegetables-bread-generated-by-ai_188544-27615.jpg" }
]}
rightItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/grilled-beef-sandwich-ciabatta-with-salad-generated-by-ai_188544-21369.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-mushroom-pizza-with-cheese-olives-tomatoes-dark-surface-italy-meal-dough-pizza-food_140725-101410.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/high-angle-fried-chicken-with-three-different-sauces-nuggets_23-2148646582.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/high-angle-salmon-sandwich-with-olives-onions_23-2148640243.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/delicious-pizza-indoors_23-2150873944.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-plate-with-sauce-fizzy-drink_23-2148646619.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Our Story"
quote="We treat every customer like family. Sami's is Bridgeport, and we're proud to serve the best pizza around, just like we have for years."
author="Sami"
role="Owner & Head Pizza Maker"
imageSrc="http://img.b2bpic.net/free-photo/happy-woman-talking-waiter-who-is-wearing-protective-face-mask-while-choosing-something-from-menu-touchpad-cafe_637285-6595.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="menu" data-section="menu">
<SectionErrorBoundary name="menu">
<FeaturesRevealCardsBento
tag="Our Menu"
title="Classic Recipes, Real Ingredients"
description="From our legendary thin-crust pies to crispy wings, everything is crafted with love and fresh spices."
items={[
{ title: "NY Style Cheese", description: "Classic thin crust with our secret sauce and premium mozzarella.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/delicious-pizza-traditional-italian-pizza_1328-3989.jpg" },
{ title: "Garlic Knots", description: "Crispy on the outside, soft inside, tossed in garlic butter.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/delicious-roasted-young-potatoes-with-dill-chicken-top-view_114579-9508.jpg" },
{ title: "Char-Grilled Wings", description: "Juicy, crispy, and the best wings you will find in town.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-fried-chicken-legs-with-sauce-french-fries_23-2148646599.jpg" },
{ title: "Chicken Wing Pizza", description: "A local favorite featuring actual pieces of our signature wings.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/delicious-food-presentation_23-2151914044.jpg" },
{ title: "Meatball Sub", description: "Spicy, savory, and cooked to perfection on fresh rolls.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/beef-hamburger_74190-5907.jpg" },
{ title: "Veggie Delight", description: "Loaded with fresh vegetables and our signature crispy crust.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/young-girls-having-pizza-floor_23-2147764737.jpg" },
{ title: "Eggplant Parm Sub", description: "Hand-breaded eggplant that's worth the extra topping.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-delicious-hot-dog_23-2149235918.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
<MenuSection />
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingMediaCards
tag="Specials"
title="Value Packs"
description="Great for families and gatherings, our combos offer the perfect taste of Sami's."
plans={[
{
tag: "Popular", price: "$49.95", period: "Bundle", features: ["Large Pizza", "20 Wings", "Salad", "6 Garlic Knots", "2L Soda"],
primaryButton: { text: "Order Pack", href: "#contact" },
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hand-holding-sauce-bottle_23-2148773532.jpg"
}
]}
/>
</SectionErrorBoundary>
</div>
<PricingSection />
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamOverlayCards
tag="The Crew"
title="Meet the Team"
description="Hard-working locals dedicated to giving you the best pizza experience."
members={[
{ name: "Sami", role: "Owner", imageSrc: "http://img.b2bpic.net/free-photo/mid-shot-man-holding-cutting-board-with-pizza_23-2148785690.jpg" },
{ name: "Chef Maria", role: "Pizza Maker", imageSrc: "http://img.b2bpic.net/free-photo/young-african-american-woman-eating-homemade-cheese-pizza-pointing-showing-with-thumb-up-side-with-happy-face-smiling_839833-29959.jpg" },
{ name: "John", role: "Service Lead", imageSrc: "http://img.b2bpic.net/free-photo/friends-posing-with-pizza_23-2147640618.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
<TeamSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Reviews"
title="What Locals Say"
description="Join our community of pizza lovers who have made us a Bridgeport staple."
testimonials={[
{ name: "Jacqui Smith", role: "Local Guide", quote: "Very good pizza. Good crust, good sauce. Worth the stop.", imageSrc: "http://img.b2bpic.net/free-photo/young-caucasian-man-holding-two-pizza-slices-indoors-handsome-male-wearing-casual-maroon-t-shirt-posing-against-yellow-wall_176532-10192.jpg" },
{ name: "Billy Sotherden", role: "Local Guide", quote: "Best pepperoni and sausage pizza in the area! Wings are excellent.", imageSrc: "http://img.b2bpic.net/free-photo/delicious-snacks-table-informal-meeting-best-friends-small-cozy-cafe-hot-spring-evening_8353-10408.jpg" },
{ name: "Anna", role: "Local Guide", quote: "The pizza was hot and delicious. Garlic knots are crispy.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-happy-smiling-woman-enjoy-her-morning-french-breakfast-open-cafe-terrace-tasty-organic-food-holding-french-croissant-her-hand_291049-526.jpg" },
{ name: "Hans Kraeger", role: "Local Guide", quote: "A must-stop pizzeria in Bridgeport! The crust is perfection.", imageSrc: "http://img.b2bpic.net/free-photo/choice_1388-662.jpg" },
{ name: "Danice Cashin", role: "Local Guide", quote: "Great food, quality ingredients, friendly staff, affordable.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-happy-young-asian-lady-eating-orange_1150-10403.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Common Questions"
title="Helpful Info"
description="We are here to answer your questions."
categories={[
{ name: "Orders", items: [{ question: "Do you deliver?", answer: "Yes, we offer delivery services within a limited radius." }, { question: "Can I order online?", answer: "Call us directly to place your order for pickup or delivery." }] },
{ name: "Food", items: [{ question: "Is your crust thin?", answer: "Yes, we specialize in authentic, crispy thin-crust pizza." }, { question: "Do you have wings?", answer: "Absolutely, our char-grilled wings are a local favorite." }] }
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Visit Us"
text="Ready for the best pizza in Bridgeport? Call today and pick up something hot and fresh."
primaryButton={{ text: "Call to Order", href: "tel:+13155555555" }}
secondaryButton={{ text: "Get Directions", href: "#" }}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
<LocationSection />
</>
);
}

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 AboutTestimonial from '@/components/sections/about/AboutTestimonial';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutTestimonial
tag="Our Story"
quote="We treat every customer like family. Sami's is Bridgeport, and we're proud to serve the best pizza around, just like we have for years."
author="Sami"
role="Owner & Head Pizza Maker"
imageSrc="http://img.b2bpic.net/free-photo/happy-woman-talking-waiter-who-is-wearing-protective-face-mask-while-choosing-something-from-menu-touchpad-cafe_637285-6595.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,21 @@
// 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="Visit Us"
text="Ready for the best pizza in Bridgeport? Call today and pick up something hot and fresh."
primaryButton={{ text: "Call to Order", href: "tel:+13155555555" }}
secondaryButton={{ text: "Get Directions", href: "#" }}
/>
</SectionErrorBoundary>
</div>
);
}

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 "faq" section.
import React from 'react';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Common Questions"
title="Helpful Info"
description="We are here to answer your questions."
categories={[
{ name: "Orders", items: [{ question: "Do you deliver?", answer: "Yes, we offer delivery services within a limited radius." }, { question: "Can I order online?", answer: "Call us directly to place your order for pickup or delivery." }] },
{ name: "Food", items: [{ question: "Is your crust thin?", answer: "Yes, we specialize in authentic, crispy thin-crust pizza." }, { question: "Do you have wings?", answer: "Absolutely, our char-grilled wings are a local favorite." }] }
]}
/>
</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 HeroSplitVerticalMarquee from '@/components/sections/hero/HeroSplitVerticalMarquee';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplitVerticalMarquee
tag="Since 1998"
title="Bridgeport's Favorite NY-Style Pizza"
description="Authentic, thin-crust, and cooked to perfection. Taste the tradition that keeps the community coming back for more."
primaryButton={{
text: "Order Now", href: "#contact"}}
secondaryButton={{
text: "View Menu", href: "#menu"}}
leftItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-italian-pizza-about-cheese-it-stick-selective-focus-generative-ai_1258-153039.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/sauce-near-nuggets-beer_23-2147765506.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/homemade-sandwich-filled-with-chicken-vegetables-glass-cold-carbonated-juice_181624-56464.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/close-up-melted-cheese-pizza_23-2149286881.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/vertical-view-crispy-fried-chicken-with-mayonnaise-ketchup_140725-54247.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/grilled-meat-sandwich-with-fresh-vegetables-bread-generated-by-ai_188544-27615.jpg" }
]}
rightItems={[
{ imageSrc: "http://img.b2bpic.net/free-photo/grilled-beef-sandwich-ciabatta-with-salad-generated-by-ai_188544-21369.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/front-view-delicious-mushroom-pizza-with-cheese-olives-tomatoes-dark-surface-italy-meal-dough-pizza-food_140725-101410.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/high-angle-fried-chicken-with-three-different-sauces-nuggets_23-2148646582.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/high-angle-salmon-sandwich-with-olives-onions_23-2148640243.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/delicious-pizza-indoors_23-2150873944.jpg" },
{ imageSrc: "http://img.b2bpic.net/free-photo/top-view-fried-chicken-plate-with-sauce-fizzy-drink_23-2148646619.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,77 @@
import React from "react";
import { MapPin, Clock, Phone } from "lucide-react";
import TextAnimation from "@/components/ui/TextAnimation";
import ScrollReveal from "@/components/ui/ScrollReveal";
import Button from "@/components/ui/Button";
export default function LocationSection() {
return (
<section data-webild-section="location" id="location" className="relative w-full py-24 bg-background">
<div className="w-content-width mx-auto">
<div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
<ScrollReveal variant="slide-up">
<div className="space-y-8">
<div>
<TextAnimation variant="slide-up" tag="h2" gradientText={false} className="text-4xl md:text-5xl font-bold text-foreground mb-4" text="Come Visit Us" />
<p className="text-lg text-accent">
Stop by for a slice or pick up a whole pie. We're located right in the heart of Bridgeport.
</p>
</div>
<div className="space-y-6">
<div className="flex items-start gap-4">
<div className="p-3 rounded-lg card text-foreground">
<MapPin className="w-6 h-6" />
</div>
<div>
<h3 className="text-xl font-semibold text-foreground mb-1">Location</h3>
<p className="text-accent">Bridgeport, NY<br/>(Serving the local community)</p>
</div>
</div>
<div className="flex items-start gap-4">
<div className="p-3 rounded-lg card text-foreground">
<Clock className="w-6 h-6" />
</div>
<div>
<h3 className="text-xl font-semibold text-foreground mb-1">Hours</h3>
<p className="text-accent">Mon - Thu: 11:00 AM - 9:00 PM<br/>Fri - Sat: 11:00 AM - 10:00 PM<br/>Sun: 12:00 PM - 8:00 PM</p>
</div>
</div>
<div className="flex items-start gap-4">
<div className="p-3 rounded-lg card text-foreground">
<Phone className="w-6 h-6" />
</div>
<div>
<h3 className="text-xl font-semibold text-foreground mb-1">Contact</h3>
<p className="text-accent">Call us to order</p>
</div>
</div>
</div>
<div className="pt-4">
<Button text="Get Directions" variant="primary" href="https://maps.google.com" />
</div>
</div>
</ScrollReveal>
<ScrollReveal variant="fade" delay={0.2}>
<div className="w-full h-[400px] lg:h-[500px] rounded-lg overflow-hidden card">
<iframe
src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2913.684497677943!2d-75.9890666!3d43.1531611!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89d98b0b0b0b0b0b%3A0x0!2sBridgeport%2C%20NY!5e0!3m2!1sen!2sus!4v1620000000000!5m2!1sen!2sus"
width="100%"
height="100%"
style={{ border: 0 }}
allowFullScreen={true}
loading="lazy"
referrerPolicy="no-referrer-when-downgrade"
title="Sami's Pizza Location"
></iframe>
</div>
</ScrollReveal>
</div>
</div>
</section>
);
}

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 "menu" section.
import React from 'react';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MenuSection(): React.JSX.Element {
return (
<div id="menu" data-section="menu">
<SectionErrorBoundary name="menu">
<FeaturesRevealCardsBento
tag="Our Menu"
title="Classic Recipes, Real Ingredients"
description="From our legendary thin-crust pies to crispy wings, everything is crafted with love and fresh spices."
items={[
{ title: "NY Style Cheese", description: "Classic thin crust with our secret sauce and premium mozzarella.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/delicious-pizza-traditional-italian-pizza_1328-3989.jpg" },
{ title: "Garlic Knots", description: "Crispy on the outside, soft inside, tossed in garlic butter.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/delicious-roasted-young-potatoes-with-dill-chicken-top-view_114579-9508.jpg" },
{ title: "Char-Grilled Wings", description: "Juicy, crispy, and the best wings you will find in town.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-fried-chicken-legs-with-sauce-french-fries_23-2148646599.jpg" },
{ title: "Chicken Wing Pizza", description: "A local favorite featuring actual pieces of our signature wings.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/delicious-food-presentation_23-2151914044.jpg" },
{ title: "Meatball Sub", description: "Spicy, savory, and cooked to perfection on fresh rolls.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/beef-hamburger_74190-5907.jpg" },
{ title: "Veggie Delight", description: "Loaded with fresh vegetables and our signature crispy crust.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/young-girls-having-pizza-floor_23-2147764737.jpg" },
{ title: "Eggplant Parm Sub", description: "Hand-breaded eggplant that's worth the extra topping.", href: "#", imageSrc: "http://img.b2bpic.net/free-photo/high-angle-delicious-hot-dog_23-2149235918.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "pricing" section.
import React from 'react';
import PricingMediaCards from '@/components/sections/pricing/PricingMediaCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function PricingSection(): React.JSX.Element {
return (
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingMediaCards
tag="Specials"
title="Value Packs"
description="Great for families and gatherings, our combos offer the perfect taste of Sami's."
plans={[
{
tag: "Popular", price: "$49.95", period: "Bundle", features: ["Large Pizza", "20 Wings", "Salad", "6 Garlic Knots", "2L Soda"],
primaryButton: { text: "Order Pack", href: "#contact" },
imageSrc: "http://img.b2bpic.net/free-photo/close-up-hand-holding-sauce-bottle_23-2148773532.jpg"
}
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,25 @@
// 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 TeamOverlayCards from '@/components/sections/team/TeamOverlayCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TeamSection(): React.JSX.Element {
return (
<div id="team" data-section="team">
<SectionErrorBoundary name="team">
<TeamOverlayCards
tag="The Crew"
title="Meet the Team"
description="Hard-working locals dedicated to giving you the best pizza experience."
members={[
{ name: "Sami", role: "Owner", imageSrc: "http://img.b2bpic.net/free-photo/mid-shot-man-holding-cutting-board-with-pizza_23-2148785690.jpg" },
{ name: "Chef Maria", role: "Pizza Maker", imageSrc: "http://img.b2bpic.net/free-photo/young-african-american-woman-eating-homemade-cheese-pizza-pointing-showing-with-thumb-up-side-with-happy-face-smiling_839833-29959.jpg" },
{ name: "John", role: "Service Lead", imageSrc: "http://img.b2bpic.net/free-photo/friends-posing-with-pizza_23-2147640618.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,27 @@
// 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 TestimonialMarqueeCards from '@/components/sections/testimonial/TestimonialMarqueeCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialMarqueeCards
tag="Reviews"
title="What Locals Say"
description="Join our community of pizza lovers who have made us a Bridgeport staple."
testimonials={[
{ name: "Jacqui Smith", role: "Local Guide", quote: "Very good pizza. Good crust, good sauce. Worth the stop.", imageSrc: "http://img.b2bpic.net/free-photo/young-caucasian-man-holding-two-pizza-slices-indoors-handsome-male-wearing-casual-maroon-t-shirt-posing-against-yellow-wall_176532-10192.jpg" },
{ name: "Billy Sotherden", role: "Local Guide", quote: "Best pepperoni and sausage pizza in the area! Wings are excellent.", imageSrc: "http://img.b2bpic.net/free-photo/delicious-snacks-table-informal-meeting-best-friends-small-cozy-cafe-hot-spring-evening_8353-10408.jpg" },
{ name: "Anna", role: "Local Guide", quote: "The pizza was hot and delicious. Garlic knots are crispy.", imageSrc: "http://img.b2bpic.net/free-photo/close-up-image-happy-smiling-woman-enjoy-her-morning-french-breakfast-open-cafe-terrace-tasty-organic-food-holding-french-croissant-her-hand_291049-526.jpg" },
{ name: "Hans Kraeger", role: "Local Guide", quote: "A must-stop pizzeria in Bridgeport! The crust is perfection.", imageSrc: "http://img.b2bpic.net/free-photo/choice_1388-662.jpg" },
{ name: "Danice Cashin", role: "Local Guide", quote: "Great food, quality ingredients, friendly staff, affordable.", imageSrc: "http://img.b2bpic.net/free-photo/portrait-happy-young-asian-lady-eating-orange_1150-10403.jpg" }
]}
/>
</SectionErrorBoundary>
</div>
);
}