Merge version_2_1781824807233 into main #2

Merged
bender merged 1 commits from version_2_1781824807233 into main 2026-06-18 23:23:43 +00:00
8 changed files with 436 additions and 186 deletions

View File

@@ -1,196 +1,32 @@
import ContactCta from '@/components/sections/contact/ContactCta';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
import FeaturesRevealCardsBento from '@/components/sections/features/FeaturesRevealCardsBento';
import HeroSplit from '@/components/sections/hero/HeroSplit';
import TestimonialQuoteCards from '@/components/sections/testimonial/TestimonialQuoteCards';
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 MenuSection from './HomePage/sections/Menu';
import FeaturesSection from './HomePage/sections/Features';
import TestimonialsSection from './HomePage/sections/Testimonials';
import FaqSection from './HomePage/sections/Faq';
import ContactSection from './HomePage/sections/Contact';
import FullMenuSection from './HomePage/sections/FullMenu';export default function HomePage(): React.JSX.Element {
return (
<>
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplit
tag="Signature Taste"
title="The chicken crunch you've been craving."
description="Experience the original taste of our legendary burger and chicken boxes. Crafted with love, served hot, and made to satisfy."
primaryButton={{
text: "Order Now",
href: "#order",
}}
secondaryButton={{
text: "View Menu",
href: "#menu",
}}
imageSrc="http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=1"
/>
</SectionErrorBoundary>
</div>
<>
<HeroSection />
<div id="menu" data-section="menu">
<SectionErrorBoundary name="menu">
<FeaturesRevealCardsBento
tag="Bestsellers"
title="Customer Favorites"
description="Discover the top-rated meals that keep our foodies coming back for more."
items={[
{
title: "Classic Beef Burger",
description: "Double patty with cheese.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/cheeseburger-with-fresh-vegetables-pickles-dark-background_84443-94664.jpg",
},
{
title: "Golden Chicken Box",
description: "6 pieces of crispy chicken.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/view-delicious-corn-dogs-arrangement_23-2149455094.jpg",
},
{
title: "The Ultimate Combo",
description: "Burger, wings, and fries.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/junk-food-products-wooden-plates-with-beer-cheese-barbecue-pistachio-top-view_176474-6829.jpg",
},
{
title: "Spicy Buffalo Wings",
description: "Signature spicy glaze.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-fried-chicken-wings-tray-with-green-onions-lemon_23-2148699036.jpg",
},
{
title: "Bacon Cheese Crunch",
description: "Smoky bacon perfection.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/black-burger-stone-cutting-board-kitchen-restaurant_482257-24295.jpg",
},
{
title: "Mega Chicken Box",
description: "For the real hungry.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/plate-with-chicken-salad-near-napkin_23-2147765420.jpg",
},
{
title: "Veggie Delight Burger",
description: "Plant-based goodness.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/hamburger-with-black-bread_1203-2384.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<MenuSection />
<FullMenuSection />
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesMediaCards
tag="Why Us"
title="Freshness in Every Bite"
description="We source the finest ingredients to ensure every meal is a memorable one."
items={[
{
title: "Farm Fresh Ingredients",
description: "Locally sourced produce daily.",
imageSrc: "http://img.b2bpic.net/free-photo/juicy-double-cheeseburger_23-2151950553.jpg",
},
{
title: "Original Secret Recipes",
description: "Crafted over decades for you.",
imageSrc: "http://img.b2bpic.net/free-photo/delicious-corn-dog-meal_52683-86637.jpg",
},
{
title: "Super Fast Delivery",
description: "Hot and fresh to your door.",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-food-delivery_23-2149198176.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<FeaturesSection />
<div id="testimonials" data-section="testimonials">
<SectionErrorBoundary name="testimonials">
<TestimonialQuoteCards
tag="Reviews"
title="Loved by Foodies"
description="Hear what our amazing customers have to say about our burgers and chicken."
testimonials={[
{
name: "Sarah J.",
role: "Foodie",
quote: "The best burger I've had in years!",
imageSrc: "http://img.b2bpic.net/free-photo/girl-eating-donut-with-chocolate-icing_158595-1691.jpg",
},
{
name: "Mike D.",
role: "Regular",
quote: "The chicken box is a life changer.",
imageSrc: "http://img.b2bpic.net/free-photo/mid-adult-man-eating-sandwich-while-using-laptop-dining-table_637285-12589.jpg",
},
{
name: "Emily R.",
role: "Influencer",
quote: "Obsessed with the spicy sauce.",
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-eating-dessert-near-cup-drink-table_23-2148071642.jpg",
},
{
name: "David L.",
role: "Student",
quote: "Fast, cheap, and extremely tasty.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-people-celebrating-engagement_23-2149212184.jpg",
},
{
name: "Jenny K.",
role: "Customer",
quote: "Delivery is always so quick!",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-man-restaurant_23-2148899030.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
<TestimonialsSection />
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Frequently Asked"
description="Got questions? We have the answers for you."
items={[
{
question: "Do you offer delivery?",
answer: "Yes, we deliver within 5 miles.",
},
{
question: "Can I customize orders?",
answer: "Absolutely, just specify during checkout.",
},
{
question: "Are ingredients halal?",
answer: "All our chicken is certified halal.",
},
]}
/>
</SectionErrorBoundary>
</div>
<FaqSection />
<div id="contact" data-section="contact">
<SectionErrorBoundary name="contact">
<ContactCta
tag="Get in touch"
text="Ready to order your delicious burger?"
primaryButton={{
text: "Order Online",
href: "#",
}}
secondaryButton={{
text: "View Location",
href: "#",
}}
/>
</SectionErrorBoundary>
</div>
<ContactSection />
</>
);
}

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="Get in touch"
text="Ready to order your delicious burger?"
primaryButton={{
text: "Order Online",
href: "#",
}}
secondaryButton={{
text: "View Location",
href: "#",
}}
/>
</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 "faq" section.
import React from 'react';
import FaqSimple from '@/components/sections/faq/FaqSimple';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FaqSection(): React.JSX.Element {
return (
<div id="faq" data-section="faq">
<SectionErrorBoundary name="faq">
<FaqSimple
tag="Support"
title="Frequently Asked"
description="Got questions? We have the answers for you."
items={[
{
question: "Do you offer delivery?",
answer: "Yes, we deliver within 5 miles.",
},
{
question: "Can I customize orders?",
answer: "Absolutely, just specify during checkout.",
},
{
question: "Are ingredients halal?",
answer: "All our chicken is certified halal.",
},
]}
/>
</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 "features" section.
import React from 'react';
import FeaturesMediaCards from '@/components/sections/features/FeaturesMediaCards';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function FeaturesSection(): React.JSX.Element {
return (
<div id="features" data-section="features">
<SectionErrorBoundary name="features">
<FeaturesMediaCards
tag="Why Us"
title="Freshness in Every Bite"
description="We source the finest ingredients to ensure every meal is a memorable one."
items={[
{
title: "Farm Fresh Ingredients",
description: "Locally sourced produce daily.",
imageSrc: "http://img.b2bpic.net/free-photo/juicy-double-cheeseburger_23-2151950553.jpg",
},
{
title: "Original Secret Recipes",
description: "Crafted over decades for you.",
imageSrc: "http://img.b2bpic.net/free-photo/delicious-corn-dog-meal_52683-86637.jpg",
},
{
title: "Super Fast Delivery",
description: "Hot and fresh to your door.",
imageSrc: "http://img.b2bpic.net/free-photo/still-life-food-delivery_23-2149198176.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,171 @@
import React from 'react';
import TextAnimation from '@/components/ui/TextAnimation';
import ScrollReveal from '@/components/ui/ScrollReveal';
import Tag from '@/components/ui/Tag';
import { Flame, Leaf, Nut } from 'lucide-react';
export default function FullMenuSection() {
const menuCategories = [
{
category: "Burger Meals",
items: [
{
name: "Classic Beef Burger",
description: "Crispy beef patty with melted cheddar cheese, signature sauce, and a fresh brioche bun.",
prices: { "Single": "$8.99", "Double": "$11.99", "Meal": "+$3.99" },
dietary: []
},
{
name: "Spicy Inferno Burger",
description: "Juicy beef patty topped with jalapeños, pepper jack cheese, and our fiery house sauce.",
prices: { "Single": "$9.99", "Double": "$12.99", "Meal": "+$3.99" },
dietary: ["Extra Spicy"]
},
{
name: "Veggie Delight Burger",
description: "Plant-based patty with fresh lettuce, tomato, and vegan mayo on a toasted bun.",
prices: { "Single": "$8.49", "Meal": "+$3.99" },
dietary: ["Vegetarian"]
}
]
},
{
category: "Chicken Boxes",
items: [
{
name: "Golden Chicken Box",
description: "6 pieces of crispy, golden-fried chicken served with your choice of dipping sauce.",
prices: { "Small (6pc)": "$10.99", "Medium (10pc)": "$15.99", "Family Box (20pc)": "$28.99" },
dietary: []
},
{
name: "Spicy Buffalo Wings Box",
description: "Crispy wings tossed in our signature spicy buffalo glaze, served with ranch dip.",
prices: { "Small (6pc)": "$11.99", "Medium (10pc)": "$16.99", "Family Box (20pc)": "$30.99" },
dietary: ["Extra Spicy"]
}
]
},
{
category: "Appetizers",
items: [
{
name: "Mozzarella Sticks",
description: "Gooey melted mozzarella coated in seasoned breadcrumbs, fried to perfection.",
prices: { "Regular": "$5.99" },
dietary: ["Vegetarian"]
},
{
name: "Chicken Tenders",
description: "Crispy, tender chicken strips served with honey mustard sauce.",
prices: { "Regular": "$6.99" },
dietary: []
}
]
},
{
category: "Sides / Add-ons",
items: [
{
name: "Classic French Fries",
description: "Crispy golden fries seasoned with our special salt blend.",
prices: { "Small": "$2.99", "Large": "$4.49" },
dietary: ["Vegetarian"]
},
{
name: "Loaded Cheese Fries",
description: "Fries topped with melted cheddar, crispy bacon bits, and jalapeños.",
prices: { "Regular": "$6.49" },
dietary: ["Extra Spicy"]
},
{
name: "Peanut Slaw",
description: "Fresh cabbage slaw tossed in a tangy peanut dressing.",
prices: { "Regular": "$3.99" },
dietary: ["Vegetarian", "Contains Nuts"]
}
]
},
{
category: "Beverages",
items: [
{
name: "Fountain Drinks",
description: "Cola, Diet Cola, Lemon-Lime, or Orange Soda.",
prices: { "Regular": "$2.49", "Large": "$3.49" },
dietary: []
},
{
name: "Classic Milkshakes",
description: "Thick and creamy shakes. Available in Vanilla, Chocolate, or Strawberry.",
prices: { "Regular": "$4.99" },
dietary: ["Vegetarian"]
}
]
}
];
return (
<div data-webild-section="full-menu" id="full-menu">
<section className="py-20 bg-background">
<div className="w-content-width mx-auto flex flex-col gap-16">
<div className="flex flex-col items-center gap-4 text-center">
<div className="px-3 py-1 text-sm card rounded w-fit">
<p>Full Menu</p>
</div>
<TextAnimation
text="Explore Our Delicious Offerings"
variant="slide-up"
tag="h2"
className="text-5xl md:text-6xl font-bold text-foreground"
/>
<p className="text-lg text-accent max-w-2xl">
From our signature burgers to crispy chicken boxes, find your next favorite meal right here.
</p>
</div>
<div className="flex flex-col gap-16">
{menuCategories.map((cat, catIdx) => (
<div key={cat.category} className="flex flex-col gap-6">
<ScrollReveal delay={0} variant="slide-up">
<h3 className="text-3xl font-bold text-foreground border-b border-foreground/10 pb-2">
{cat.category}
</h3>
</ScrollReveal>
<div className="grid grid-cols-1 md:grid-cols-2 gap-6">
{cat.items.map((item, idx) => (
<ScrollReveal key={item.name} delay={idx * 0.1} variant="slide-up">
<div className="card p-6 rounded-lg flex flex-col h-full gap-4 transition-transform hover:-translate-y-1">
<div className="flex justify-between items-start gap-4">
<h4 className="text-2xl font-semibold text-foreground">{item.name}</h4>
<div className="flex gap-2 flex-wrap justify-end">
{item.dietary.map((diet) => (
<React.Fragment key={diet}>
{diet === "Extra Spicy" && <Tag text="Spicy" icon={Flame} className="bg-red-500/10 text-red-600" />}
{diet === "Vegetarian" && <Tag text="Veg" icon={Leaf} className="bg-green-500/10 text-green-600" />}
{diet === "Contains Nuts" && <Tag text="Nuts" icon={Nut} className="bg-orange-500/10 text-orange-600" />}
</React.Fragment>
))}
</div>
</div>
<p className="text-accent flex-grow">{item.description}</p>
<div className="flex flex-wrap gap-4 mt-2 pt-4 border-t border-foreground/10">
{Object.entries(item.prices).map(([size, price]) => (
<div key={size} className="flex flex-col">
<span className="text-xs text-accent uppercase tracking-wider">{size}</span>
<span className="text-lg font-bold text-foreground">{price}</span>
</div>
))}
</div>
</div>
</ScrollReveal>
))}
</div>
</div>
))}
</div>
</div>
</section>
</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 HeroSplit from '@/components/sections/hero/HeroSplit';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
export default function HeroSection(): React.JSX.Element {
return (
<div id="hero" data-section="hero">
<SectionErrorBoundary name="hero">
<HeroSplit
tag="Signature Taste"
title="The chicken crunch you've been craving."
description="Experience the original taste of our legendary burger and chicken boxes. Crafted with love, served hot, and made to satisfy."
primaryButton={{
text: "Order Now",
href: "#order",
}}
secondaryButton={{
text: "View Menu",
href: "#menu",
}}
imageSrc="http://img.b2bpic.net/free-photo/vertical-shot-tasty-hamburger-wooden-plate-restaurant_181624-50415.jpg?_wi=1"
/>
</SectionErrorBoundary>
</div>
);
}

View File

@@ -0,0 +1,64 @@
// 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="Bestsellers"
title="Customer Favorites"
description="Discover the top-rated meals that keep our foodies coming back for more."
items={[
{
title: "Classic Beef Burger",
description: "Double patty with cheese.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/cheeseburger-with-fresh-vegetables-pickles-dark-background_84443-94664.jpg",
},
{
title: "Golden Chicken Box",
description: "6 pieces of crispy chicken.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/view-delicious-corn-dogs-arrangement_23-2149455094.jpg",
},
{
title: "The Ultimate Combo",
description: "Burger, wings, and fries.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/junk-food-products-wooden-plates-with-beer-cheese-barbecue-pistachio-top-view_176474-6829.jpg",
},
{
title: "Spicy Buffalo Wings",
description: "Signature spicy glaze.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/high-angle-fried-chicken-wings-tray-with-green-onions-lemon_23-2148699036.jpg",
},
{
title: "Bacon Cheese Crunch",
description: "Smoky bacon perfection.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/black-burger-stone-cutting-board-kitchen-restaurant_482257-24295.jpg",
},
{
title: "Mega Chicken Box",
description: "For the real hungry.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/plate-with-chicken-salad-near-napkin_23-2147765420.jpg",
},
{
title: "Veggie Delight Burger",
description: "Plant-based goodness.",
href: "#",
imageSrc: "http://img.b2bpic.net/free-photo/hamburger-with-black-bread_1203-2384.jpg",
},
]}
/>
</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="Loved by Foodies"
description="Hear what our amazing customers have to say about our burgers and chicken."
testimonials={[
{
name: "Sarah J.",
role: "Foodie",
quote: "The best burger I've had in years!",
imageSrc: "http://img.b2bpic.net/free-photo/girl-eating-donut-with-chocolate-icing_158595-1691.jpg",
},
{
name: "Mike D.",
role: "Regular",
quote: "The chicken box is a life changer.",
imageSrc: "http://img.b2bpic.net/free-photo/mid-adult-man-eating-sandwich-while-using-laptop-dining-table_637285-12589.jpg",
},
{
name: "Emily R.",
role: "Influencer",
quote: "Obsessed with the spicy sauce.",
imageSrc: "http://img.b2bpic.net/free-photo/young-woman-eating-dessert-near-cup-drink-table_23-2148071642.jpg",
},
{
name: "David L.",
role: "Student",
quote: "Fast, cheap, and extremely tasty.",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-people-celebrating-engagement_23-2149212184.jpg",
},
{
name: "Jenny K.",
role: "Customer",
quote: "Delivery is always so quick!",
imageSrc: "http://img.b2bpic.net/free-photo/close-up-woman-man-restaurant_23-2148899030.jpg",
},
]}
/>
</SectionErrorBoundary>
</div>
);
}