From a2397cfb947c2ebd2b0487d82edb4eaf1b540666 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Thu, 29 Jan 2026 21:52:15 +0000 Subject: [PATCH] Changes --- src/App.tsx | 6 ++- src/components/CartDrawer.tsx | 8 +++- src/components/Footer.tsx | 10 ++++- src/components/MobileBottomNav.tsx | 70 +++++++++++++++++++++++++++++ src/pages/Products.tsx | 72 +++++++++++++++++++++++++----- 5 files changed, 149 insertions(+), 17 deletions(-) create mode 100644 src/components/MobileBottomNav.tsx diff --git a/src/App.tsx b/src/App.tsx index 42e4c96..6024320 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -9,6 +9,7 @@ import { Header } from "@/components/Header"; import { Footer } from "@/components/Footer"; import { CartDrawer } from "@/components/CartDrawer"; import { AuthModal } from "@/components/AuthModal"; +import { MobileBottomNav } from "@/components/MobileBottomNav"; import Index from "./pages/Index"; import Products from "./pages/Products"; import About from "./pages/About"; @@ -25,7 +26,7 @@ const App = () => ( -
+
@@ -37,8 +38,9 @@ const App = () => ( } />
-
+
+ diff --git a/src/components/CartDrawer.tsx b/src/components/CartDrawer.tsx index 157029a..f2db1b1 100644 --- a/src/components/CartDrawer.tsx +++ b/src/components/CartDrawer.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useState, useEffect } from 'react'; import { X, Minus, Plus, Trash2, Send, MessageSquare } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; @@ -16,6 +16,12 @@ import { useCart } from '@/context/CartContext'; import { useToast } from '@/hooks/use-toast'; export function CartDrawer() { + // Listen for custom event from mobile nav + useEffect(() => { + const handleOpenCart = () => setIsCartOpen(true); + window.addEventListener('open-cart', handleOpenCart); + return () => window.removeEventListener('open-cart', handleOpenCart); + }, []); const { items, isCartOpen, setIsCartOpen, removeItem, updateQuantity, updateNotes, clearCart } = useCart(); const { toast } = useToast(); const [quoteMessage, setQuoteMessage] = useState(''); diff --git a/src/components/Footer.tsx b/src/components/Footer.tsx index deafc92..6e9bc7c 100644 --- a/src/components/Footer.tsx +++ b/src/components/Footer.tsx @@ -1,8 +1,14 @@ import { Link } from 'react-router-dom'; import { Mail, Phone, MapPin, Facebook, Linkedin, Instagram } from 'lucide-react'; import logo from '@/assets/logo.jpeg'; -export function Footer() { - return