2 Commits

Author SHA1 Message Date
1cf238c47b Merge version_2_1781366235768 into main
Merge version_2_1781366235768 into main
2026-06-13 15:58:00 +00:00
kudinDmitriyUp
7e0952c611 Bob AI (stub): Update the website colors to include the signature Pizza Hut 2026-06-13 15:57:56 +00:00
8 changed files with 297 additions and 247 deletions

View File

@@ -1,259 +1,37 @@
import AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqTabbedAccordion from '@/components/sections/faq/FaqTabbedAccordion';
import FeaturesDetailedSteps from '@/components/sections/features/FeaturesDetailedSteps';
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import PricingSimpleCards from '@/components/sections/pricing/PricingSimpleCards';
import TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
import { Car, MapPin, ShoppingBag } from "lucide-react";
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 TestimonialsSection from './HomePage/sections/Testimonials';
import MetricsSection from './HomePage/sections/Metrics';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
{/* webild-stub @2026-06-13T15:57:55.004Z: Update the website colors to include the signature Pizza Hut red and remove the pricing section. */}
export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroOverlay
tag="Your Local Favorite"
title="Fresh Pizza & More, Right Around the Corner"
description="Visit us for hot pizza, creamy chicken Alfredo, and delicious wings. Convenient parking and easy access for everyone."
primaryButton={{
text: "View Menu",
href: "#menu",
}}
secondaryButton={{
text: "Get Directions",
href: "#location",
}}
imageSrc="http://img.b2bpic.net/free-photo/delicious-neapolitan-pizza-board_78826-3291.jpg"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Experience"
title="More Than Just Pizza"
description="Located in a convenient, well-stocked area, we are perfectly positioned next to grocery stores, other local restaurants, and great amenities. Whether you're visiting or a local, you'll love the atmosphere."
items={[
{
icon: MapPin,
title: "Easy Parking",
description: "Plenty of free roadside and lot parking available.",
},
{
icon: Car,
title: "Accessible Access",
description: "Quick pick-up for Uber drivers and taxi services.",
},
{
icon: ShoppingBag,
title: "Local Amenities",
description: "Near grocery stores, ice cream shops, and more.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/happy-african-american-family-relaxing-while-talking-dining-table_637285-12669.jpg"
/>
</SectionErrorBoundary>
</div>
<AboutSection />
<div id="menu" data-section="menu">
<SectionErrorBoundary name="menu">
<FeaturesDetailedSteps
tag="Our Favorites"
title="Taste the Difference"
description="From crispy wings to classic pizza, we serve up fresh, high-quality meals."
steps={[
{
tag: "Signature",
title: "Classic Pizza",
subtitle: "Family favorite",
description: "Hand-tossed dough with fresh ingredients.",
imageSrc: "http://img.b2bpic.net/free-photo/front-close-view-tasty-cheesy-pizza-with-red-tomatoes-black-olives-bell-peppers-sausages_140725-19990.jpg",
},
{
tag: "Savory",
title: "Chicken Alfredo",
subtitle: "Creamy goodness",
description: "Deliciously rich and creamy pasta.",
imageSrc: "http://img.b2bpic.net/free-photo/carbonara_1203-2930.jpg",
},
{
tag: "Appetizer",
title: "Crispy Wings",
subtitle: "Perfectly seasoned",
description: "Cooked to perfection and served hot.",
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-fried-chicken-slate-with-sauce_23-2148646658.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<MenuSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialQuoteCards
tag="Reviews"
title="What Our Community Says"
description="Hear from our happy customers about their experience at our restaurant."
testimonials={[
{
name: "Alex R.",
role: "Teenager",
quote: "I love the pizza here! It is always my go-to when I'm out.",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-girl-valentines-day-wearing-hat-with-glasses-holding-out-box-candies-side-isolated-white-background_141793-110593.jpg",
},
{
name: "Sarah J.",
role: "Visitor",
quote: "Fantastic service and excellent food. Everything was perfect.",
imageSrc: "http://img.b2bpic.net/free-photo/young-hispanic-man-wearing-casual-clothes-smiling-looking-confident-camera-with-crossed-arms-hand-chin-thinking-positive_839833-32556.jpg",
},
{
name: "Jordan M.",
role: "Student",
quote: "Really liked the wings and chicken alfredo. Will definitely come back.",
imageSrc: "http://img.b2bpic.net/free-photo/crazy-sports-man-funny-expression_1194-3317.jpg",
},
{
name: "David W.",
role: "Local Resident",
quote: "Great parking and easy access, plus the food is consistently good.",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-handsome-man-looking-happy-grey-background_176420-20375.jpg",
},
{
name: "Emily K.",
role: "Visitor",
quote: "The atmosphere is welcoming and the food is just top-notch.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-young-woman-colorful-t-shirt_23-2148066869.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="pricing" data-section="pricing">
<SectionErrorBoundary name="pricing">
<PricingSimpleCards
tag="Value"
title="Meals for Everyone"
description="Affordable options for every appetite."
plans={[
{
tag: "Quick",
price: "$12",
description: "Single person combo deal",
features: [
"1 Slice",
"1 Side",
"1 Drink",
],
},
{
tag: "Popular",
price: "$25",
description: "Family shared pizza meal",
features: [
"1 Large Pizza",
"Side of Wings",
],
},
{
tag: "Full Feast",
price: "$45",
description: "Best value for groups",
features: [
"2 Large Pizzas",
"Wings",
"Alfredo",
"Drinks",
],
},
]}
/>
</SectionErrorBoundary>
</div>
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Stats"
title="Quality You Can Trust"
description="Consistently providing 5-star quality and service."
metrics={[
{
value: "5/5",
description: "Average Food Rating",
},
{
value: "5/5",
description: "Service Quality",
},
{
value: "100%",
description: "Fresh Ingredients",
},
]}
/>
</SectionErrorBoundary>
</div>
<MetricsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqTabbedAccordion
tag="Questions"
title="Frequently Asked Questions"
description="Have questions? We're here to help."
categories={[
{
name: "General",
items: [
{
question: "Is there parking available?",
answer: "Yes, we have plenty of free lot and roadside parking.",
},
{
question: "Can Ubers drop off at the store?",
answer: "Yes, it is very easy for Ubers and taxis to access.",
},
],
},
{
name: "Menu",
items: [
{
question: "Do you serve chicken Alfredo?",
answer: "Yes, it's one of our customer favorites.",
},
{
question: "Are there other food options nearby?",
answer: "Yes, we are located near several other dining options.",
},
],
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Visit Us"
text="Stop by for a fresh meal today!"
primaryButton={{
text: "Get Directions",
href: "#",
}}
secondaryButton={{
text: "Contact Us",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

View File

@@ -0,0 +1,39 @@
// 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 AboutFeaturesSplit from '@/components/sections/about/AboutFeaturesSplit';
import { Car, MapPin, ShoppingBag } from "lucide-react";
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function AboutSection(): React.JSX.Element {
return (
<div id="about" data-section="about">
<SectionErrorBoundary name="about">
<AboutFeaturesSplit
tag="Experience"
title="More Than Just Pizza"
description="Located in a convenient, well-stocked area, we are perfectly positioned next to grocery stores, other local restaurants, and great amenities. Whether you're visiting or a local, you'll love the atmosphere."
items={[
{
icon: MapPin,
title: "Easy Parking",
description: "Plenty of free roadside and lot parking available.",
},
{
icon: Car,
title: "Accessible Access",
description: "Quick pick-up for Uber drivers and taxi services.",
},
{
icon: ShoppingBag,
title: "Local Amenities",
description: "Near grocery stores, ice cream shops, and more.",
},
]}
imageSrc="http://img.b2bpic.net/free-photo/happy-african-american-family-relaxing-while-talking-dining-table_637285-12669.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 "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="Stop by for a fresh meal today!"
primaryButton={{
text: "Get Directions",
href: "#",
}}
secondaryButton={{
text: "Contact Us",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,48 @@
// 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="Questions"
title="Frequently Asked Questions"
description="Have questions? We're here to help."
categories={[
{
name: "General",
items: [
{
question: "Is there parking available?",
answer: "Yes, we have plenty of free lot and roadside parking.",
},
{
question: "Can Ubers drop off at the store?",
answer: "Yes, it is very easy for Ubers and taxis to access.",
},
],
},
{
name: "Menu",
items: [
{
question: "Do you serve chicken Alfredo?",
answer: "Yes, it's one of our customer favorites.",
},
{
question: "Are there other food options nearby?",
answer: "Yes, we are located near several other dining options.",
},
],
},
]}
/>
</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 "hero" section.
import React from 'react';
import HeroOverlay from '@/components/sections/hero/HeroOverlay';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroOverlay
tag="Your Local Favorite"
title="Fresh Pizza & More, Right Around the Corner"
description="Visit us for hot pizza, creamy chicken Alfredo, and delicious wings. Convenient parking and easy access for everyone."
primaryButton={{
text: "View Menu",
href: "#menu",
}}
secondaryButton={{
text: "Get Directions",
href: "#location",
}}
imageSrc="http://img.b2bpic.net/free-photo/delicious-neapolitan-pizza-board_78826-3291.jpg"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,43 @@
// 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 FeaturesDetailedSteps from '@/components/sections/features/FeaturesDetailedSteps';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MenuSection(): React.JSX.Element {
return (
<div id="menu" data-section="menu">
<SectionErrorBoundary name="menu">
<FeaturesDetailedSteps
tag="Our Favorites"
title="Taste the Difference"
description="From crispy wings to classic pizza, we serve up fresh, high-quality meals."
steps={[
{
tag: "Signature",
title: "Classic Pizza",
subtitle: "Family favorite",
description: "Hand-tossed dough with fresh ingredients.",
imageSrc: "http://img.b2bpic.net/free-photo/front-close-view-tasty-cheesy-pizza-with-red-tomatoes-black-olives-bell-peppers-sausages_140725-19990.jpg",
},
{
tag: "Savory",
title: "Chicken Alfredo",
subtitle: "Creamy goodness",
description: "Deliciously rich and creamy pasta.",
imageSrc: "http://img.b2bpic.net/free-photo/carbonara_1203-2930.jpg",
},
{
tag: "Appetizer",
title: "Crispy Wings",
subtitle: "Perfectly seasoned",
description: "Cooked to perfection and served hot.",
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-fried-chicken-slate-with-sauce_23-2148646658.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,34 @@
// 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 MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function MetricsSection(): React.JSX.Element {
return (
<div id="metrics" data-section="metrics">
<SectionErrorBoundary name="metrics">
<MetricsSimpleCards
tag="Our Stats"
title="Quality You Can Trust"
description="Consistently providing 5-star quality and service."
metrics={[
{
value: "5/5",
description: "Average Food Rating",
},
{
value: "5/5",
description: "Service Quality",
},
{
value: "100%",
description: "Fresh Ingredients",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View 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 TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function TestimonialsSection(): React.JSX.Element {
return (
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialQuoteCards
tag="Reviews"
title="What Our Community Says"
description="Hear from our happy customers about their experience at our restaurant."
testimonials={[
{
name: "Alex R.",
role: "Teenager",
quote: "I love the pizza here! It is always my go-to when I'm out.",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-young-girl-valentines-day-wearing-hat-with-glasses-holding-out-box-candies-side-isolated-white-background_141793-110593.jpg",
},
{
name: "Sarah J.",
role: "Visitor",
quote: "Fantastic service and excellent food. Everything was perfect.",
imageSrc: "http://img.b2bpic.net/free-photo/young-hispanic-man-wearing-casual-clothes-smiling-looking-confident-camera-with-crossed-arms-hand-chin-thinking-positive_839833-32556.jpg",
},
{
name: "Jordan M.",
role: "Student",
quote: "Really liked the wings and chicken alfredo. Will definitely come back.",
imageSrc: "http://img.b2bpic.net/free-photo/crazy-sports-man-funny-expression_1194-3317.jpg",
},
{
name: "David W.",
role: "Local Resident",
quote: "Great parking and easy access, plus the food is consistently good.",
imageSrc: "http://img.b2bpic.net/free-photo/smiling-handsome-man-looking-happy-grey-background_176420-20375.jpg",
},
{
name: "Emily K.",
role: "Visitor",
quote: "The atmosphere is welcoming and the food is just top-notch.",
imageSrc: "http://img.b2bpic.net/free-photo/portrait-smiling-young-woman-colorful-t-shirt_23-2148066869.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}