Bob AI: Add shopping-cart page
This commit is contained in:
@@ -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>
|
||||
);
|
||||
|
||||
@@ -34,7 +34,9 @@ export default function Layout() {
|
||||
{
|
||||
"name": "Testimonials",
|
||||
"href": "#testimonials"
|
||||
}
|
||||
},
|
||||
{ name: "Shopping Cart", href: "/shopping-cart" },
|
||||
|
||||
];
|
||||
|
||||
return (
|
||||
|
||||
105
src/pages/ShoppingCartPage.tsx
Normal file
105
src/pages/ShoppingCartPage.tsx
Normal 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>
|
||||
);
|
||||
}
|
||||
@@ -6,4 +6,5 @@ export interface Route {
|
||||
|
||||
export const routes: Route[] = [
|
||||
{ path: '/', label: 'Home', pageFile: 'HomePage' },
|
||||
{ path: '/shopping-cart', label: 'Shopping Cart', pageFile: 'ShoppingCartPage' },
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user