diff --git a/src/app/page.tsx b/src/app/page.tsx index 8340fbe..7b861af 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -70,7 +70,7 @@ export default function HomePage() { description="Discover authentic streetwear and casual apparel designed for urban culture. Premium quality, bold designs, and timeless aesthetics." tag="New Collection" tagIcon={Sparkles} - background={{ variant: "plain" }} + background={{ variant: "noiseDiagonalGradient" }} mediaItems={[ { imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-cool-man-with-electric-scooter_23-2149356776.jpg", imageAlt: "Urban streetwear model wearing black jacket"}, diff --git a/src/app/product/[id]/page.tsx b/src/app/product/[id]/page.tsx index ef99212..f7294c7 100644 --- a/src/app/product/[id]/page.tsx +++ b/src/app/product/[id]/page.tsx @@ -6,6 +6,7 @@ import FooterCard from "@/components/sections/footer/FooterCard"; import { Instagram, Twitter, Youtube, ShoppingCart, Heart } from "lucide-react"; import Link from "next/link"; import { useState } from "react"; +import { useParams } from "next/navigation"; const TikTok = (props: React.SVGProps) => ( ) => ( ); -const products: { [key: string]: any } = { - "1": { - id: "1", name: "Classic Black Hoodie", price: "$89.99", image: "http://img.b2bpic.net/free-photo/medium-shot-man-posing-with-hoodie-indoors_23-2149359859.jpg", description: "Premium oversized black hoodie perfect for street style. Made with 100% organic cotton for maximum comfort.", sizes: ["XS", "S", "M", "L", "XL", "XXL"], - colors: ["Black", "Charcoal", "Navy"], - }, - "2": { - id: "2", name: "Vintage Denim Jacket", price: "$129.99", image: "http://img.b2bpic.net/free-photo/fashionable-woman-wearing-denim-jacket_23-2148859621.jpg", description: "Authentic vintage-inspired denim jacket with distressed details. Perfect layering piece for any streetwear outfit.", sizes: ["XS", "S", "M", "L", "XL"], - colors: ["Indigo", "Light Blue", "Black"], - }, - "3": { - id: "3", name: "Cargo Pants - Khaki", price: "$79.99", image: "http://img.b2bpic.net/free-photo/young-woman-wearing-trucker-hat_23-2149432334.jpg", description: "Multi-pocket cargo pants in breathable khaki. Comfortable and functional for everyday wear.", sizes: ["28", "30", "32", "34", "36"], - colors: ["Khaki", "Olive", "Black"], - }, -}; +const products = [ + { + id: "1", name: "Classic Black Hoodie", price: "$89.99", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-posing-with-hoodie-indoors_23-2149359859.jpg", description: "Our signature black hoodie crafted from premium organic cotton blend. Features a relaxed fit, front kangaroo pocket, and reinforced stitching for durability.", details: "Material: 60% organic cotton, 40% polyester | Fit: Oversized | Care: Machine wash cold"}, + { + id: "2", name: "Vintage Denim Jacket", price: "$129.99", imageSrc: "http://img.b2bpic.net/free-photo/fashionable-woman-wearing-denim-jacket_23-2148859621.jpg", description: "A timeless denim jacket with authentic vintage vibes. Perfect layering piece for any streetwear aesthetic.", details: "Material: 100% denim | Fit: Relaxed | Care: Machine wash cold"}, +]; -export default function ProductPage({ params }: { params: { id: string } }) { - const product = products[params.id] || products["1"]; - const [quantity, setQuantity] = useState(1); - const [selectedSize, setSelectedSize] = useState(product.sizes[0]); - const [selectedColor, setSelectedColor] = useState(product.colors[0]); - const [isFavorited, setIsFavorited] = useState(false); +export default function ProductPage() { + const params = useParams(); + const productId = params.id as string; + const product = products.find((p) => p.id === productId) || products[0]; const navItems = [ { name: "Shop", id: "products" }, @@ -50,6 +41,10 @@ export default function ProductPage({ params }: { params: { id: string } }) { { name: "Contact", id: "contact" }, ]; + const [selectedSize, setSelectedSize] = useState("M"); + const [quantity, setQuantity] = useState(1); + const [isFavorited, setIsFavorited] = useState(false); + const socialLinks = [ { icon: Instagram, href: "https://instagram.com/umbra", ariaLabel: "Instagram" }, { icon: Twitter, href: "https://twitter.com/umbra", ariaLabel: "Twitter" }, @@ -86,33 +81,31 @@ export default function ProductPage({ params }: { params: { id: string } }) {
-
+
{product.name}
-
+

{product.name}

{product.price}

-

{product.description}

+

{product.description}

- -
- {product.sizes.map((size: string) => ( +

Size

+
+ {["XS", "S", "M", "L", "XL", "XXL"].map((size) => (
- -
- {product.colors.map((color: string) => ( - - ))} -
-
- -
- -
+

Quantity

+
- - {quantity} - + {quantity}
-
-
+ +
+

Product Details

+

{product.details}

+