From 13263116c2ff873651be983be0705a17c03c1d7c Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 22 Apr 2026 11:21:07 +0000 Subject: [PATCH 1/6] Add src/app/chat/page.tsx --- src/app/chat/page.tsx | 91 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 src/app/chat/page.tsx diff --git a/src/app/chat/page.tsx b/src/app/chat/page.tsx new file mode 100644 index 0000000..7f8552c --- /dev/null +++ b/src/app/chat/page.tsx @@ -0,0 +1,91 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import ReactLenis from "lenis/react"; +import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; +import FooterBaseCard from '@/components/sections/footer/FooterBaseCard'; +import { useState } from "react"; +import { Send, User, MessageSquare, Phone } from "lucide-react"; + +export default function ChatPage() { + const [message, setMessage] = useState(""); + + return ( + + + + +
+
+
+
+ +
+
+

Customer Support

+

Active now

+
+
+ +
+
+
+ Hello! How can I help you with your order today? +
+
+
+
+ Hi, I wanted to ask if I can add extra garlic to my pasta order? +
+
+
+ +
+ setMessage(e.target.value)} + placeholder="Type a message..." + className="flex-1 bg-background border rounded-full px-6 py-3 outline-none focus:ring-2 focus:ring-accent/20" + /> + +
+
+
+ + +
+
+ ); +} \ No newline at end of file From 4dd79136e7a834c26055d58010d6a58c43bd7f2b Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 22 Apr 2026 11:21:07 +0000 Subject: [PATCH 2/6] Add src/app/login/page.tsx --- src/app/login/page.tsx | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/app/login/page.tsx diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx new file mode 100644 index 0000000..42c9d48 --- /dev/null +++ b/src/app/login/page.tsx @@ -0,0 +1,31 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; +import ContactSplitForm from '@/components/sections/contact/ContactSplitForm'; + +export default function LoginPage() { + return ( + + +
+ +
+
+ ); +} \ No newline at end of file From 1f20dad545f0447e96d44ef89f402a38e02e33d0 Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 22 Apr 2026 11:21:08 +0000 Subject: [PATCH 3/6] Add src/app/manage-menu/page.tsx --- src/app/manage-menu/page.tsx | 73 ++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/app/manage-menu/page.tsx diff --git a/src/app/manage-menu/page.tsx b/src/app/manage-menu/page.tsx new file mode 100644 index 0000000..ecf0384 --- /dev/null +++ b/src/app/manage-menu/page.tsx @@ -0,0 +1,73 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import { useState } from "react"; +import { Plus, Trash2, Edit2, Check } from "lucide-react"; +import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; + +export default function ManageMenuPage() { + const [menuItems, setMenuItems] = useState([ + { id: "1", name: "Margherita Pizza", price: "15.00" }, + { id: "2", name: "Classic Burger", price: "12.00" }, + ]); + const [editingId, setEditingId] = useState(null); + const [editName, setEditName] = useState(""); + const [editPrice, setEditPrice] = useState(""); + + const addItem = () => { + const newItem = { id: Date.now().toString(), name: "New Item", price: "0.00" }; + setMenuItems([...menuItems, newItem]); + }; + + const deleteItem = (id: string) => { + setMenuItems(menuItems.filter(item => item.id !== id)); + }; + + const startEdit = (item: { id: string, name: string, price: string }) => { + setEditingId(item.id); + setEditName(item.name); + setEditPrice(item.price); + }; + + const saveEdit = (id: string) => { + setMenuItems(menuItems.map(item => item.id === id ? { ...item, name: editName, price: editPrice } : item)); + setEditingId(null); + }; + + return ( + + +
+
+

Menu Management

+ +
+
+ {menuItems.map(item => ( +
+ {editingId === item.id ? ( + <> + setEditName(e.target.value)} className="flex-1 p-2 border rounded" /> + setEditPrice(e.target.value)} className="w-24 p-2 border rounded" /> + + + ) : ( + <> + {item.name} + ${item.price} + + + + )} +
+ ))} +
+
+
+ ); +} \ No newline at end of file From 2ba611c3603e8d3887abae40129cfb89ed22a693 Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 22 Apr 2026 11:21:08 +0000 Subject: [PATCH 4/6] Update src/app/page.tsx --- src/app/page.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index e646142..5279c57 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -37,6 +37,7 @@ export default function LandingPage() { { name: "Home", id: "hero" }, { name: "Restaurants", id: "restaurants" }, { name: "Process", id: "features" }, + { name: "Chat", id: "/chat" }, { name: "Contact", id: "contact" }, ]} brandName="FoodMarket" @@ -191,11 +192,11 @@ export default function LandingPage() { logoText="FoodMarket" columns={[ { title: "Marketplace", items: [{ label: "Restaurants", href: "#restaurants" }, { label: "About Us", href: "#" }, { label: "Careers", href: "#" }] }, - { title: "Support", items: [{ label: "Help Center", href: "#" }, { label: "Contact", href: "#contact" }, { label: "Privacy Policy", href: "#" }] }, + { title: "Support", items: [{ label: "Help Center", href: "#" }, { label: "Contact", href: "#contact" }, { label: "Chat", href: "/chat" }, { label: "Privacy Policy", href: "#" }] }, ]} /> ); -} +} \ No newline at end of file From 0aac911032c5a5457ea47967c07020cf6e6810e2 Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 22 Apr 2026 11:21:09 +0000 Subject: [PATCH 5/6] Add src/app/register/page.tsx --- src/app/register/page.tsx | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/app/register/page.tsx diff --git a/src/app/register/page.tsx b/src/app/register/page.tsx new file mode 100644 index 0000000..5f0f1b1 --- /dev/null +++ b/src/app/register/page.tsx @@ -0,0 +1,32 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; +import ContactSplitForm from '@/components/sections/contact/ContactSplitForm'; + +export default function RegisterPage() { + return ( + + +
+ +
+
+ ); +} \ No newline at end of file From e6741966f6c2af5ec62d16bb77365adff80614b8 Mon Sep 17 00:00:00 2001 From: bender Date: Wed, 22 Apr 2026 11:21:09 +0000 Subject: [PATCH 6/6] Add src/app/vendor-orders/page.tsx --- src/app/vendor-orders/page.tsx | 79 ++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/app/vendor-orders/page.tsx diff --git a/src/app/vendor-orders/page.tsx b/src/app/vendor-orders/page.tsx new file mode 100644 index 0000000..7f83350 --- /dev/null +++ b/src/app/vendor-orders/page.tsx @@ -0,0 +1,79 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import ReactLenis from "lenis/react"; +import { useState } from "react"; +import NavbarStyleFullscreen from '@/components/navbar/NavbarStyleFullscreen/NavbarStyleFullscreen'; +import FooterBaseCard from '@/components/sections/footer/FooterBaseCard'; +import { Check, X, Clock } from "lucide-react"; + +export default function VendorOrdersPage() { + const [orders, setOrders] = useState([ + { id: "1", customer: "Sarah J.", items: "Gourmet Pizza x1", status: "Pending" }, + { id: "2", customer: "Michael R.", items: "Burger Barn Combo x2", status: "Pending" }, + ]); + + const handleAction = (id: string, action: "Accepted" | "Rejected") => { + setOrders(prev => prev.filter(o => o.id !== id)); + }; + + return ( + + + + +
+

Incoming Orders

+
+ {orders.length === 0 ? ( +

No pending orders.

+ ) : ( + orders.map(order => ( +
+
+

{order.customer}

+

{order.items}

+
+
+ + +
+
+ )) + )} +
+
+ + +
+
+ ); +} \ No newline at end of file