Bob AI: Add shopping-cart page

This commit is contained in:
kudinDmitriyUp
2026-06-14 06:41:03 +00:00
parent 38b78a40ae
commit 4e259f1e47
4 changed files with 111 additions and 1 deletions

View File

@@ -2,11 +2,13 @@ import { Routes, Route } from 'react-router-dom';
import Layout from './components/Layout';
import HomePage from './pages/HomePage';
import ShoppingCartPage from "@/pages/ShoppingCartPage";
export default function App() {
return (
<Routes>
<Route element={<Layout />}>
<Route path="/" element={<HomePage />} />
<Route path="/shopping-cart" element={<ShoppingCartPage />} />
</Route>
</Routes>
);

View File

@@ -34,7 +34,9 @@ export default function Layout() {
{
"name": "Testimonials",
"href": "#testimonials"
}
},
{ name: "Shopping Cart", href: "/shopping-cart" },
];
return (

View File

@@ -0,0 +1,105 @@
import React from "react";
import { routes } from "@/routes";
import NavbarCentered from "@/components/ui/NavbarCentered";
import ProductQuantityCards from "@/components/sections/product/ProductQuantityCards";
import ContactSplitForm from "@/components/sections/contact/ContactSplitForm";
import FooterSimple from "@/components/sections/footer/FooterSimple";
const cartItems = [
{
name: "16 Piece Hot Wings Bucket",
price: "85,000 UZS",
imageSrc: "https://images.unsplash.com/photo-1626645738196-c2a7c87a8f58?q=80&w=800&auto=format&fit=crop",
onAddToCart: () => console.log("Update quantity")
},
{
name: "Zinger Burger Combo",
price: "45,000 UZS",
imageSrc: "https://images.unsplash.com/photo-1568901346375-23c9450c58cd?q=80&w=800&auto=format&fit=crop",
onAddToCart: () => console.log("Update quantity")
},
{
name: "Large French Fries",
price: "18,000 UZS",
imageSrc: "https://images.unsplash.com/photo-1576107232684-1279f3908594?q=80&w=800&auto=format&fit=crop",
onAddToCart: () => console.log("Update quantity")
}
];
const checkoutInputs = [
{
name: "fullName",
type: "text",
placeholder: "Full Name",
required: true
},
{
name: "phone",
type: "tel",
placeholder: "Phone Number (+998...)",
required: true
},
{
name: "address",
type: "text",
placeholder: "Delivery Address (Urganch)",
required: true
}
];
export default function ShoppingCartPage() {
return (
<div className="min-h-screen bg-background text-foreground flex flex-col">
<NavbarCentered
logo="KFC Urganch"
navItems={routes.map((r) => ({ name: r.label, href: r.path }))}
ctaButton={{ text: "Back to Menu", href: "/menu" }}
/>
<main className="flex-1 pt-24">
<ProductQuantityCards
tag="Your Cart"
title="Review Your Order"
description="Make sure you have all your favorites before checking out. Finger lickin' good!"
products={cartItems}
/>
<ContactSplitForm
tag="Checkout"
title="Delivery Details"
description="Enter your information for fast delivery anywhere in Urganch."
inputs={checkoutInputs}
textarea={{ name: "notes", placeholder: "Special instructions for the rider...", rows: 3 }}
buttonText="Place Order - 148,000 UZS"
imageSrc="https://images.unsplash.com/photo-1526367790999-0150786686a2?q=80&w=800&auto=format&fit=crop"
/>
</main>
<FooterSimple
brand="KFC Urganch"
columns={[
{
title: "Menu",
items: [
{ label: "Buckets", href: "/menu" },
{ label: "Burgers", href: "/menu" },
{ label: "Snacks", href: "/menu" }
]
},
{
title: "Support",
items: [
{ label: "Contact Us", href: "/contact" },
{ label: "Delivery Info", href: "/faq" }
]
}
]}
copyright="© 2024 KFC Urganch. All rights reserved."
links={[
{ label: "Privacy Policy", href: "/privacy" },
{ label: "Terms of Service", href: "/terms" }
]}
/>
</div>
);
}

View File

@@ -6,4 +6,5 @@ export interface Route {
export const routes: Route[] = [
{ path: '/', label: 'Home', pageFile: 'HomePage' },
{ path: '/shopping-cart', label: 'Shopping Cart', pageFile: 'ShoppingCartPage' },
];