From 4d8c97a77fa72dee898612503817f38910083bbf Mon Sep 17 00:00:00 2001 From: kudinDmitriyUp Date: Tue, 16 Jun 2026 10:09:49 +0000 Subject: [PATCH] Bob AI: Added bottom navigation bar with Home, Shop, Cart, and Admin --- src/components/Layout.tsx | 25 ++- src/pages/HomePage.tsx | 163 ++----------------- src/pages/HomePage/sections/ContactCta.tsx | 27 +++ src/pages/HomePage/sections/Hero.tsx | 29 ++++ src/pages/HomePage/sections/Products.tsx | 57 +++++++ src/pages/HomePage/sections/SocialProof.tsx | 27 +++ src/pages/HomePage/sections/Testimonials.tsx | 52 ++++++ 7 files changed, 234 insertions(+), 146 deletions(-) create mode 100644 src/pages/HomePage/sections/ContactCta.tsx create mode 100644 src/pages/HomePage/sections/Hero.tsx create mode 100644 src/pages/HomePage/sections/Products.tsx create mode 100644 src/pages/HomePage/sections/SocialProof.tsx create mode 100644 src/pages/HomePage/sections/Testimonials.tsx diff --git a/src/components/Layout.tsx b/src/components/Layout.tsx index 107bb40..598ee4a 100644 --- a/src/components/Layout.tsx +++ b/src/components/Layout.tsx @@ -2,8 +2,9 @@ import FooterSimple from '@/components/sections/footer/FooterSimple'; import NavbarDropdown from '@/components/ui/NavbarDropdown'; import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; import SiteBackgroundSlot from "@/components/ui/SiteBackgroundSlot"; -import { Outlet } from 'react-router-dom'; +import { Outlet, Link } from 'react-router-dom'; import { StyleProvider } from "@/components/ui/StyleProvider"; +import { Home, ShoppingBag, ShoppingCart, User } from 'lucide-react'; export default function Layout() { const navItems = [ @@ -92,6 +93,28 @@ export default function Layout() { ]} /> + + {/* Bottom Navigation Bar */} +
+
+ + + Home + + + + Shop + + + + Cart + + + + Admin + +
+
); } diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index 5ec562d..ca3ea6c 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -1,154 +1,27 @@ -import ContactCta from '@/components/sections/contact/ContactCta'; -import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento'; -import HeroOverlay from '@/components/sections/hero/HeroOverlay'; -import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee'; -import TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards'; -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 ProductsSection from './HomePage/sections/Products'; +import TestimonialsSection from './HomePage/sections/Testimonials'; +import SocialProofSection from './HomePage/sections/SocialProof'; +import ContactCtaSection from './HomePage/sections/ContactCta'; + +export default function HomePage(): React.JSX.Element { return ( - <> -
- - - -
+<> + -
- - - -
+ -
- - - -
+ -
- - - -
+ -
- - - -
+ ); } diff --git a/src/pages/HomePage/sections/ContactCta.tsx b/src/pages/HomePage/sections/ContactCta.tsx new file mode 100644 index 0000000..c82fdac --- /dev/null +++ b/src/pages/HomePage/sections/ContactCta.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-cta" section. + +import React from 'react'; +import ContactCta from '@/components/sections/contact/ContactCta'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function ContactCtaSection(): 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..fb8ec44 --- /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 HeroOverlay from '@/components/sections/hero/HeroOverlay'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function HeroSection(): 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..996e285 --- /dev/null +++ b/src/pages/HomePage/sections/Products.tsx @@ -0,0 +1,57 @@ +// 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/SocialProof.tsx b/src/pages/HomePage/sections/SocialProof.tsx new file mode 100644 index 0000000..6abd7c6 --- /dev/null +++ b/src/pages/HomePage/sections/SocialProof.tsx @@ -0,0 +1,27 @@ +// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this +// file as the canonical source for the "social-proof" section. + +import React from 'react'; +import SocialProofMarquee from '@/components/sections/social-proof/SocialProofMarquee'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function SocialProofSection(): 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..496668a --- /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 TestimonialColumnMarqueeCards from '@/components/sections/testimonial/TestimonialColumnMarqueeCards'; +import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; + +export default function TestimonialsSection(): React.JSX.Element { + return ( +
+ + + +
+ ); +} -- 2.49.1