From 11c52158f55de191aebdec0ae55481942a6a0ab9 Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 9 Jun 2026 22:50:34 +0000 Subject: [PATCH 1/5] Add src/app/checkout/page.tsx --- src/app/checkout/page.tsx | 242 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 242 insertions(+) create mode 100644 src/app/checkout/page.tsx diff --git a/src/app/checkout/page.tsx b/src/app/checkout/page.tsx new file mode 100644 index 0000000..72b834b --- /dev/null +++ b/src/app/checkout/page.tsx @@ -0,0 +1,242 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import ReactLenis from "lenis/react"; +import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; +import FooterMedia from '@/components/sections/footer/FooterMedia'; +import ButtonElasticEffect from '@/components/button/ButtonElasticEffect/ButtonElasticEffect'; +import { useState } from 'react'; + +export default function CheckoutPage() { + const [formData, setFormData] = useState({ + fullName: '', + email: '', + address: '', + city: '', + zip: '', + cardName: '', + cardNumber: '', + expDate: '', + cvv: '' + }); + + const handleChange = (e: React.ChangeEvent) => { + setFormData({ ...formData, [e.target.name]: e.target.value }); + }; + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + console.log("Checkout form submitted:", formData); + // In a real app, process payment and redirect to order confirmation + window.location.href = "/order-confirmation"; + }; + + const footerColumns = [ + { + title: "Quick Links", items: [ + { label: "Home", href: "/" }, + { label: "About Us", href: "/#about" }, + { label: "Services", href: "/#services" }, + { label: "Team", href: "/#team" }, + { label: "Shopping Cart", href: "/shopping-cart" }, + { label: "Checkout", href: "/checkout" }, + { label: "Order Confirmation", href: "/order-confirmation" } + ], + }, + { + title: "Resources", items: [ + { label: "FAQ", href: "/#faq" }, + { label: "Contact Us", href: "/#contact" }, + { label: "Privacy Policy", href: "#" }, + { label: "Terms of Service", href: "#" }, + ], + }, + { + title: "Connect", items: [ + { label: "info@fcplus.com", href: "mailto:info@fcplus.com" }, + { label: "+1 (555) 123-4567", href: "tel:+15551234567" }, + { label: "456 Gentleman's Way", href: "#" }, + { label: "Fashion District, NY 10018", href: "#" }, + ], + }, + ]; + + const navItems = [ + { name: "Home", id: "/" }, + { name: "About", id: "/#about" }, + { name: "Services", id: "/#services" }, + { name: "Team", id: "/#team" }, + { name: "Testimonials", id: "/#testimonials" }, + { name: "FAQ", id: "/#faq" }, + { name: "Contact", id: "/#contact" }, + { name: "Cart", id: "/shopping-cart" }, + { name: "Checkout", id: "/checkout" }, + ]; + + return ( + + + + +
+

Checkout

+
+ {/* Shipping Information */} +
+

Shipping Information

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + {/* Payment Information */} +
+

Payment Information

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ + + +
+ + +
+
+ ); +} From fe9a010c0cfcae19bcb07b9d547260d6e567935c Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 9 Jun 2026 22:50:34 +0000 Subject: [PATCH 2/5] Update src/app/page.tsx --- src/app/page.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 14e27f0..910ad3d 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -33,11 +33,13 @@ export default function LandingPage() { ); -} +} \ No newline at end of file From 470a5784d17604192c3714fd77c28bc95d0b3a0e Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 9 Jun 2026 22:50:34 +0000 Subject: [PATCH 3/5] Add src/app/product/[id]/page.tsx --- src/app/product/[id]/page.tsx | 94 +++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/app/product/[id]/page.tsx diff --git a/src/app/product/[id]/page.tsx b/src/app/product/[id]/page.tsx new file mode 100644 index 0000000..93feda5 --- /dev/null +++ b/src/app/product/[id]/page.tsx @@ -0,0 +1,94 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import ReactLenis from "lenis/react"; +import ProductDetailCard from '@/components/ecommerce/productDetail/ProductDetailCard'; +import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; +import { Star } from "lucide-react"; + +export default function ProductDetailPage() { + const handleAddToCart = () => { + alert("Product added to cart!"); + }; + + const handleBuyNow = () => { + alert("Proceeding to checkout!"); + }; + + const handleSizeChange = (value: string) => { + console.log("Selected size:", value); + }; + + const handleColorChange = (value: string) => { + console.log("Selected color:", value); + }; + + return ( + + + + +
+ console.log("Selected quantity:", value) + }} + buttons={[ + { text: "Add to Cart", onClick: handleAddToCart }, + { text: "Buy Now", onClick: handleBuyNow } + ]} + /> +
+
+
+ ); +} \ No newline at end of file From 03d2289e667b9558c8d72c149fe9f67d5e6613e5 Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 9 Jun 2026 22:50:35 +0000 Subject: [PATCH 4/5] Add src/app/product-catalog/page.tsx --- src/app/product-catalog/page.tsx | 162 +++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) create mode 100644 src/app/product-catalog/page.tsx diff --git a/src/app/product-catalog/page.tsx b/src/app/product-catalog/page.tsx new file mode 100644 index 0000000..f2e024e --- /dev/null +++ b/src/app/product-catalog/page.tsx @@ -0,0 +1,162 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import ReactLenis from "lenis/react"; +import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; +import ProductCardTwo from '@/components/sections/product/ProductCardTwo'; +import FooterMedia from '@/components/sections/footer/FooterMedia'; + +const productData = [ + { + id: "p1", brand: "Classic Tailors", name: "Charcoal Business Suit", price: "$799", rating: 4.5, + reviewCount: "120", imageSrc: "https://img.b2bpic.net/free-photo/men-s-suit-hanger_107420-101414.jpg", imageAlt: "Charcoal Business Suit"}, + { + id: "p2", brand: "Modern Fits", name: "Navy Slim Fit Tuxedo", price: "$1200", rating: 4.8, + reviewCount: "85", imageSrc: "https://img.b2bpic.net/free-photo/stylish-man-in-suit_158595-3561.jpg", imageAlt: "Navy Slim Fit Tuxedo"}, + { + id: "p3", brand: "Elegant Wear", name: "Grey Plaid Formal Suit", price: "$899", rating: 4.2, + reviewCount: "95", imageSrc: "https://img.b2bpic.net/free-photo/black-classic-suit-blue-background_23-2147772659.jpg", imageAlt: "Grey Plaid Formal Suit"}, + { + id: "p4", brand: "Gentleman's Choice", name: "Brown Tweed Casual Blazer", price: "$450", rating: 4.0, + reviewCount: "60", imageSrc: "https://img.b2bpic.net/free-photo/business-gentleman-wearing-suit_158595-4560.jpg", imageAlt: "Brown Tweed Casual Blazer"}, + { + id: "p5", brand: "Trendsetter", name: "Light Blue Summer Suit", price: "$720", rating: 4.3, + reviewCount: "110", imageSrc: "https://img.b2bpic.net/free-photo/man-fitting-suit-store_107420-101416.jpg", imageAlt: "Light Blue Summer Suit"}, + { + id: "p6", brand: "Exclusive Tailoring", name: "Black Tie Evening Suit", price: "$1500", rating: 4.9, + reviewCount: "75", imageSrc: "https://img.b2bpic.net/free-photo/fashion-men-suits_1203-9121.jpg", imageAlt: "Black Tie Evening Suit"} +]; + +// Placeholder for client-side filtering component logic +function ProductFilters() { + return ( +
+

Filter Products

+
+

Size

+
+ {['XS', 'S', 'M', 'L', 'XL', 'XXL'].map(size => ( + + ))} +
+
+
+

Color

+
+ {['Blue', 'Black', 'Grey', 'Brown', 'Navy'].map(color => ( + + ))} +
+
+
+

Price Range

+ +
+ $0 + $2000+ +
+
+ +
+ ); +} + +export default function ProductCatalogPage() { + return ( + + + + +
+
+

+ Our Exquisite Suit Collections +

+
+ +
+ +
+
+
+
+ + +
+
+ ); +} From 1fdc719af7f7879016ed778d7def6069e80dd005 Mon Sep 17 00:00:00 2001 From: bender Date: Tue, 9 Jun 2026 22:50:35 +0000 Subject: [PATCH 5/5] Add src/app/shopping-cart/page.tsx --- src/app/shopping-cart/page.tsx | 124 +++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 src/app/shopping-cart/page.tsx diff --git a/src/app/shopping-cart/page.tsx b/src/app/shopping-cart/page.tsx new file mode 100644 index 0000000..56d8857 --- /dev/null +++ b/src/app/shopping-cart/page.tsx @@ -0,0 +1,124 @@ +"use client"; + +import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; +import ReactLenis from "lenis/react"; +import NavbarLayoutFloatingOverlay from '@/components/navbar/NavbarLayoutFloatingOverlay/NavbarLayoutFloatingOverlay'; +import ProductCart from '@/components/ecommerce/cart/ProductCart'; +import FooterMedia from '@/components/sections/footer/FooterMedia'; + +export default function ShoppingCartPage() { + const dummyCartItems = [ + { + id: "suit1", name: "Classic Blue Suit", variants: ["Size 40R", "Slim Fit"], + price: "$499.99", quantity: 1, + imageSrc: "http://img.b2bpic.net/free-photo/stylish-man-in-blue-suit_1303-10022.jpg", imageAlt: "Classic Blue Suit"}, + { + id: "tie1", name: "Silk Necktie - Burgundy", variants: ["One Size"], + price: "$49.99", quantity: 2, + imageSrc: "http://img.b2bpic.net/free-photo/red-silk-necktie_23-2148405096.jpg", imageAlt: "Burgundy Silk Necktie"}, + ]; + + const handleQuantityChange = (id: string, quantity: number) => { + console.log(`Changed quantity for ${id} to ${quantity}`); + // In a real app, this would update cart state + }; + + const handleRemoveItem = (id: string) => { + console.log(`Removed item ${id}`); + // In a real app, this would remove item from cart state + }; + + const footerColumns = [ + { + title: "Quick Links", items: [ + { label: "Home", href: "/" }, + { label: "About Us", href: "/#about" }, + { label: "Services", href: "/#services" }, + { label: "Team", href: "/#team" }, + { label: "Shopping Cart", href: "/shopping-cart" }, + { label: "Checkout", href: "/checkout" }, + { label: "Order Confirmation", href: "/order-confirmation" } + ], + }, + { + title: "Resources", items: [ + { label: "FAQ", href: "/#faq" }, + { label: "Contact Us", href: "/#contact" }, { label: "Privacy Policy", href: "#" }, + { label: "Terms of Service", href: "#" }, + ], + }, + { + title: "Connect", items: [ + { label: "info@fcplus.com", href: "mailto:info@fcplus.com" }, + { label: "+1 (555) 123-4567", href: "tel:+15551234567" }, + { label: "456 Gentleman's Way", href: "#" }, + { label: "Fashion District, NY 10018", href: "#" }, + ], + }, + ]; + + const navItems = [ + { name: "Home", id: "/" }, + { name: "About", id: "/#about" }, + { name: "Services", id: "/#services" }, + { name: "Team", id: "/#team" }, + { name: "Testimonials", id: "/#testimonials" }, + { name: "FAQ", id: "/#faq" }, + { name: "Contact", id: "/#contact" }, + { name: "Cart", id: "/shopping-cart" }, + { name: "Checkout", id: "/checkout" }, + ]; + + return ( + + + + +
+
+

Your Shopping Cart

+ console.log("Cart closed")} + items={dummyCartItems} + onQuantityChange={handleQuantityChange} + onRemove={handleRemoveItem} + total="$599.97" + buttons={[ + { text: "Continue Shopping", href: "/" }, + { text: "Proceed to Checkout", href: "/checkout" }, + ]} + title="Your Items" + /> +
+
+ + +
+
+ ); +}