From cc9a940a381c5c5eaae1b79d955d4eabd2a936fc Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Sun, 5 Jul 2026 23:45:46 +0000 Subject: [PATCH] Bob AI: Added a new catalog section with the full product list and p --- src/pages/HomePage.tsx | 268 ++----------------- src/pages/HomePage/sections/About.tsx | 22 ++ src/pages/HomePage/sections/Catalog.tsx | 155 +++++++++++ src/pages/HomePage/sections/Contact.tsx | 28 ++ src/pages/HomePage/sections/Features.tsx | 59 ++++ src/pages/HomePage/sections/Hero.tsx | 30 +++ src/pages/HomePage/sections/Metrics.tsx | 35 +++ src/pages/HomePage/sections/Products.tsx | 58 ++++ src/pages/HomePage/sections/Team.tsx | 33 +++ src/pages/HomePage/sections/Testimonials.tsx | 53 ++++ 10 files changed, 500 insertions(+), 241 deletions(-) create mode 100644 src/pages/HomePage/sections/About.tsx create mode 100644 src/pages/HomePage/sections/Catalog.tsx create mode 100644 src/pages/HomePage/sections/Contact.tsx create mode 100644 src/pages/HomePage/sections/Features.tsx create mode 100644 src/pages/HomePage/sections/Hero.tsx create mode 100644 src/pages/HomePage/sections/Metrics.tsx create mode 100644 src/pages/HomePage/sections/Products.tsx create mode 100644 src/pages/HomePage/sections/Team.tsx create mode 100644 src/pages/HomePage/sections/Testimonials.tsx diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index b686535..a42c2ec 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,253 +1,39 @@ -import AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay'; -import ContactCta from '@/components/sections/contact/ContactCta'; -import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento'; -import FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel'; -import HeroBillboard from '@/components/sections/hero/HeroBillboard'; -import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards'; -import TeamOverlayCards from '@/components/sections/team/TeamOverlayCards'; -import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards'; -import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; +// AUTO-GENERATED shell by per-section-migrate. +// Section bodies live in the sibling sections/ folder (one file per section). +// Edit those section files directly. Non-block content (wrappers, +// non-inlinable sections) is preserved inline; extracted section blocks +// become component refs. -export default function HomePage() { +import React from 'react'; +import HeroSection from './HomePage/sections/Hero'; +import AboutSection from './HomePage/sections/About'; +import FeaturesSection from './HomePage/sections/Features'; +import ProductsSection from './HomePage/sections/Products'; +import MetricsSection from './HomePage/sections/Metrics'; +import TeamSection from './HomePage/sections/Team'; +import TestimonialsSection from './HomePage/sections/Testimonials'; +import ContactSection from './HomePage/sections/Contact'; + + +import CatalogSection from './HomePage/sections/Catalog';export default function HomePage(): React.JSX.Element { return ( - <> -
- - - -
+<> + -
- - - -
+ -
- - - -
+ -
- - - -
+ + -
- - - -
+ -
- - - -
+ -
- - - -
+ -
- - - -
+ ); } diff --git a/src/pages/HomePage/sections/About.tsx b/src/pages/HomePage/sections/About.tsx new file mode 100644 index 0000000..83ad75d --- /dev/null +++ b/src/pages/HomePage/sections/About.tsx @@ -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 AboutMediaOverlay from '@/components/sections/about/AboutMediaOverlay'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function AboutSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Catalog.tsx b/src/pages/HomePage/sections/Catalog.tsx new file mode 100644 index 0000000..39be440 --- /dev/null +++ b/src/pages/HomePage/sections/Catalog.tsx @@ -0,0 +1,155 @@ +import React from 'react'; +import TextAnimation from '@/components/ui/TextAnimation'; +import ScrollReveal from '@/components/ui/ScrollReveal'; + +const catalogData = [ + { + category: "Chocolate Covered Pretzel Rods", + price: "3 for $1.00", + items: [ + { id: "001", name: "Milk Chocolate" }, + { id: "002", name: "Dark Chocolate" }, + { id: "003", name: "White Chocolate" }, + { id: "004", name: "Chocolate Peanut Butter" }, + { id: "005", name: "Dark Mint Chocolate" }, + ] + }, + { + category: "Chocolate Covered Pretzel Rods w/Sprinkles", + price: "75 cents each", + items: [ + { id: "006", name: "Milk Chocolate" }, + { id: "007", name: "Dark Chocolate" }, + { id: "008", name: "White Chocolate" }, + ] + }, + { + category: "Chocolate Covered Pretzel Rods w/Peanuts", + price: "75 cents each", + items: [ + { id: "009", name: "Milk Chocolate" }, + { id: "010", name: "Dark Chocolate" }, + { id: "011", name: "White Chocolate" }, + ] + }, + { + category: "Chocolate Covered Pretzel Rods w/White Drizzle", + price: "75 cents each", + items: [ + { id: "012", name: "Milk Chocolate" }, + { id: "013", name: "Dark Chocolate" }, + { id: "014", name: "Chocolate Peanut Butter" }, + { id: "015", name: "Dark Mint Chocolate" }, + ] + }, + { + category: "Chocolate Covered Pretzels", + price: "$2.00 per 1/2 lb. bag", + items: [ + { id: "016", name: "Milk Chocolate" }, + { id: "017", name: "Dark Chocolate" }, + { id: "018", name: "White Chocolate" }, + { id: "019", name: "Chocolate Peanut Butter" }, + { id: "020", name: "Dark Mint Chocolate" }, + ] + }, + { + category: "Chocolate Covered Pretzels w/Sprinkles", + price: "$2.50 per 1/2 lb. bag", + items: [ + { id: "021", name: "Milk Chocolate" }, + { id: "022", name: "Dark Chocolate" }, + { id: "023", name: "White Chocolate" }, + ] + }, + { + category: "Chocolate Covered Pretzels w/Peanuts", + price: "$2.50 per 1/2 lb. bag", + items: [ + { id: "024", name: "Milk Chocolate" }, + { id: "025", name: "Dark Chocolate" }, + { id: "026", name: "White Chocolate" }, + ] + }, + { + category: "Chocolate Covered Pretzels w/White Drizzle", + price: "$2.50 per 1/2 lb. bag", + items: [ + { id: "027", name: "Milk Chocolate" }, + { id: "028", name: "Dark Chocolate" }, + ] + }, + { + category: "Chocolate Covered Peanuts", + price: "$2.50 per 1/2 lb. bag", + items: [ + { id: "029", name: "Milk Chocolate" }, + { id: "030", name: "Dark Chocolate" }, + { id: "031", name: "White Chocolate" }, + ] + }, + { + category: "Chocolate Covered Almonds", + price: "$3.50 per 1/2 lb. bag", + items: [ + { id: "032", name: "Milk Chocolate" }, + { id: "033", name: "Dark Chocolate" }, + { id: "034", name: "White Chocolate" }, + ] + }, + { + category: "Chocolate Covered Cashews", + price: "$4.50 per 1/2 lb. bag", + items: [ + { id: "035", name: "Milk Chocolate" }, + { id: "036", name: "Dark Chocolate" }, + { id: "037", name: "White Chocolate" }, + ] + } +]; + +export default function CatalogSection() { + return ( +
+
+
+ + +
+ +
+ {catalogData.map((category, idx) => ( + +
+
+

{category.category}

+

{category.price}

+
+
    + {category.items.map((item) => ( +
  • + {item.name} + Item {item.id} +
  • + ))} +
+
+
+ ))} +
+
+
+ ); +} \ No newline at end of file diff --git a/src/pages/HomePage/sections/Contact.tsx b/src/pages/HomePage/sections/Contact.tsx new file mode 100644 index 0000000..491f907 --- /dev/null +++ b/src/pages/HomePage/sections/Contact.tsx @@ -0,0 +1,28 @@ +// 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/Features.tsx b/src/pages/HomePage/sections/Features.tsx new file mode 100644 index 0000000..5acb81c --- /dev/null +++ b/src/pages/HomePage/sections/Features.tsx @@ -0,0 +1,59 @@ +// 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 FeaturesMediaCarousel from '@/components/sections/features/FeaturesMediaCarousel'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function FeaturesSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Hero.tsx b/src/pages/HomePage/sections/Hero.tsx new file mode 100644 index 0000000..c31cc40 --- /dev/null +++ b/src/pages/HomePage/sections/Hero.tsx @@ -0,0 +1,30 @@ +// 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 HeroBillboard from '@/components/sections/hero/HeroBillboard'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function HeroSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Metrics.tsx b/src/pages/HomePage/sections/Metrics.tsx new file mode 100644 index 0000000..42c0826 --- /dev/null +++ b/src/pages/HomePage/sections/Metrics.tsx @@ -0,0 +1,35 @@ +// 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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Products.tsx b/src/pages/HomePage/sections/Products.tsx new file mode 100644 index 0000000..c00689a --- /dev/null +++ b/src/pages/HomePage/sections/Products.tsx @@ -0,0 +1,58 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "products" section. + +import React from 'react'; +import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function ProductsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Team.tsx b/src/pages/HomePage/sections/Team.tsx new file mode 100644 index 0000000..aeb301c --- /dev/null +++ b/src/pages/HomePage/sections/Team.tsx @@ -0,0 +1,33 @@ +// 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 ( +
+ + + +
+ ); +} diff --git a/src/pages/HomePage/sections/Testimonials.tsx b/src/pages/HomePage/sections/Testimonials.tsx new file mode 100644 index 0000000..99e8856 --- /dev/null +++ b/src/pages/HomePage/sections/Testimonials.tsx @@ -0,0 +1,53 @@ +// 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 TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function TestimonialsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} -- 2.49.1