From 6d2262a7ee896ef22cdfcf63977c6b26e7be059d Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Thu, 18 Jun 2026 23:22:18 +0000 Subject: [PATCH] Bob AI: Added full menu section with categories and dietary labels --- src/pages/HomePage.tsx | 208 ++----------------- src/pages/HomePage/sections/Contact.tsx | 27 +++ src/pages/HomePage/sections/Faq.tsx | 34 +++ src/pages/HomePage/sections/Features.tsx | 37 ++++ src/pages/HomePage/sections/FullMenu.tsx | 171 +++++++++++++++ src/pages/HomePage/sections/Hero.tsx | 29 +++ src/pages/HomePage/sections/Menu.tsx | 64 ++++++ src/pages/HomePage/sections/Testimonials.tsx | 52 +++++ 8 files changed, 436 insertions(+), 186 deletions(-) create mode 100644 src/pages/HomePage/sections/Contact.tsx create mode 100644 src/pages/HomePage/sections/Faq.tsx create mode 100644 src/pages/HomePage/sections/Features.tsx create mode 100644 src/pages/HomePage/sections/FullMenu.tsx create mode 100644 src/pages/HomePage/sections/Hero.tsx create mode 100644 src/pages/HomePage/sections/Menu.tsx create mode 100644 src/pages/HomePage/sections/Testimonials.tsx diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 65e95b3..724ee06 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -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 .//sections/.tsx. Edit the section +// files directly. Non-block content (wrappers, non-inlinable sections) is +// preserved inline; extracted section blocks become 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 ( - <> -
- - - -
+<> + - + + -
- - - -
+ -
- - - -
+ -
- - - -
+ -
- - - -
+ ); } diff --git a/src/pages/HomePage/sections/Contact.tsx b/src/pages/HomePage/sections/Contact.tsx new file mode 100644 index 0000000..9cffe51 --- /dev/null +++ b/src/pages/HomePage/sections/Contact.tsx @@ -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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Faq.tsx b/src/pages/HomePage/sections/Faq.tsx new file mode 100644 index 0000000..3db49dd --- /dev/null +++ b/src/pages/HomePage/sections/Faq.tsx @@ -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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Features.tsx b/src/pages/HomePage/sections/Features.tsx new file mode 100644 index 0000000..482c623 --- /dev/null +++ b/src/pages/HomePage/sections/Features.tsx @@ -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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/FullMenu.tsx b/src/pages/HomePage/sections/FullMenu.tsx new file mode 100644 index 0000000..d905e5e --- /dev/null +++ b/src/pages/HomePage/sections/FullMenu.tsx @@ -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 ( +
+
+
+
+
+

Full Menu

+
+ +

+ From our signature burgers to crispy chicken boxes, find your next favorite meal right here. +

+
+ +
+ {menuCategories.map((cat, catIdx) => ( +
+ +

+ {cat.category} +

+
+
+ {cat.items.map((item, idx) => ( + +
+
+

{item.name}

+
+ {item.dietary.map((diet) => ( + + {diet === "Extra Spicy" && } + {diet === "Vegetarian" && } + {diet === "Contains Nuts" && } + + ))} +
+
+

{item.description}

+
+ {Object.entries(item.prices).map(([size, price]) => ( +
+ {size} + {price} +
+ ))} +
+
+
+ ))} +
+
+ ))} +
+
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/HomePage/sections/Hero.tsx b/src/pages/HomePage/sections/Hero.tsx new file mode 100644 index 0000000..ae09731 --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Menu.tsx b/src/pages/HomePage/sections/Menu.tsx new file mode 100644 index 0000000..c693b27 --- /dev/null +++ b/src/pages/HomePage/sections/Menu.tsx @@ -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 ( + + ); +} diff --git a/src/pages/HomePage/sections/Testimonials.tsx b/src/pages/HomePage/sections/Testimonials.tsx new file mode 100644 index 0000000..b1af965 --- /dev/null +++ b/src/pages/HomePage/sections/Testimonials.tsx @@ -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 ( +
+ + + +
+ ); +} -- 2.49.1