Merge version_2_1781824807233 into main #2
@@ -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 />
|
||||
</>
|
||||
);
|
||||
}
|
||||
|
||||
27
src/pages/HomePage/sections/Contact.tsx
Normal file
27
src/pages/HomePage/sections/Contact.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
34
src/pages/HomePage/sections/Faq.tsx
Normal file
34
src/pages/HomePage/sections/Faq.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
37
src/pages/HomePage/sections/Features.tsx
Normal file
37
src/pages/HomePage/sections/Features.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
171
src/pages/HomePage/sections/FullMenu.tsx
Normal file
171
src/pages/HomePage/sections/FullMenu.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
29
src/pages/HomePage/sections/Hero.tsx
Normal file
29
src/pages/HomePage/sections/Hero.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
64
src/pages/HomePage/sections/Menu.tsx
Normal file
64
src/pages/HomePage/sections/Menu.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
52
src/pages/HomePage/sections/Testimonials.tsx
Normal file
52
src/pages/HomePage/sections/Testimonials.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user