From 7b1b47568bc4f2ba5ecdb6c78379e63898bba175 Mon Sep 17 00:00:00 2001 From: bender Date: Thu, 12 Mar 2026 13:44:32 +0000 Subject: [PATCH 1/4] Update src/app/cart/page.tsx --- src/app/cart/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/cart/page.tsx b/src/app/cart/page.tsx index db2a060..e110355 100644 --- a/src/app/cart/page.tsx +++ b/src/app/cart/page.tsx @@ -59,7 +59,7 @@ export default function CartPage() { const tax = subtotal * 0.08; const total = subtotal + shipping + tax; - const socialLinks: Array<{ icon: React.ComponentType>; href: string; ariaLabel: string }> = [ + const socialLinks = [ { icon: Instagram, href: "https://instagram.com/umbra", ariaLabel: "Instagram" }, { icon: Twitter, href: "https://twitter.com/umbra", ariaLabel: "Twitter" }, { icon: TikTok, href: "https://tiktok.com/@umbra", ariaLabel: "TikTok" }, -- 2.49.1 From 28e04d57a540ab1c318a50c7e0117a590c41b23e Mon Sep 17 00:00:00 2001 From: bender Date: Thu, 12 Mar 2026 13:44:32 +0000 Subject: [PATCH 2/4] Update src/app/page.tsx --- src/app/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/page.tsx b/src/app/page.tsx index 8d62959..cd0c949 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -34,7 +34,7 @@ export default function HomePage() { { name: "Contact", id: "contact" }, ]; - const socialLinks: Array<{ icon: React.ComponentType>; href: string; ariaLabel: string }> = [ + const socialLinks = [ { icon: Instagram, href: "https://instagram.com/umbra", ariaLabel: "Instagram" }, { icon: Twitter, href: "https://twitter.com/umbra", ariaLabel: "Twitter" }, { icon: TikTok, href: "https://tiktok.com/@umbra", ariaLabel: "TikTok" }, -- 2.49.1 From e024dff0ce6ba6b9f6e6f9a94123292649160a9c Mon Sep 17 00:00:00 2001 From: bender Date: Thu, 12 Mar 2026 13:44:33 +0000 Subject: [PATCH 3/4] Update src/app/product/[id]/page.tsx --- src/app/product/[id]/page.tsx | 144 +++++++++++++++++++++------------- 1 file changed, 90 insertions(+), 54 deletions(-) diff --git a/src/app/product/[id]/page.tsx b/src/app/product/[id]/page.tsx index 96c87a9..fcec043 100644 --- a/src/app/product/[id]/page.tsx +++ b/src/app/product/[id]/page.tsx @@ -3,7 +3,7 @@ import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered"; import FooterCard from "@/components/sections/footer/FooterCard"; -import { Instagram, Twitter, Youtube, ShoppingCart, Heart } from "lucide-react"; +import { Instagram, Twitter, Youtube, Heart, Minus, Plus } from "lucide-react"; import Link from "next/link"; import { useState } from "react"; @@ -20,7 +20,7 @@ const TikTok = (props: React.SVGProps) => ( ); -export default function ProductDetailPage() { +export default function ProductPage({ params }: { params: { id: string } }) { const navItems = [ { name: "Shop", id: "products" }, { name: "Collections", id: "collections" }, @@ -30,18 +30,21 @@ export default function ProductDetailPage() { ]; const [quantity, setQuantity] = useState(1); + const [isFavorited, setIsFavorited] = useState(false); const [selectedSize, setSelectedSize] = useState("M"); const [selectedColor, setSelectedColor] = useState("Black"); const product = { - id: "1", name: "Classic Black Hoodie", price: 89.99, + id: params.id, + name: "Classic Black Hoodie", price: 89.99, rating: 4.8, - reviews: 124, - description: "Premium quality streetwear hoodie with authentic urban style. Crafted from 100% cotton for maximum comfort and durability. Perfect for everyday wear or layering. Features a relaxed fit and quality embroidered details.", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-posing-with-hoodie-indoors_23-2149359859.jpg", sizes: ["XS", "S", "M", "L", "XL", "2XL"], - colors: ["Black", "Gray", "Navy", "White"], + reviews: 142, + imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-man-posing-with-hoodie-indoors_23-2149359859.jpg", imageAlt: "Classic black oversized hoodie", description: "Premium quality hoodie crafted from sustainable cotton blend. Features a comfortable oversized fit, kangaroo pocket, and adjustable drawstring hood. Perfect for casual wear or streetwear styling.", sizes: ["XS", "S", "M", "L", "XL", "XXL"], + colors: ["Black", "Navy", "Heather Gray", "White"], + inStock: true, }; - const socialLinks: Array<{ icon: React.ComponentType>; href: string; ariaLabel: string }> = [ + const socialLinks = [ { icon: Instagram, href: "https://instagram.com/umbra", ariaLabel: "Instagram" }, { icon: Twitter, href: "https://twitter.com/umbra", ariaLabel: "Twitter" }, { icon: TikTok, href: "https://tiktok.com/@umbra", ariaLabel: "TikTok" }, @@ -78,36 +81,54 @@ export default function ProductDetailPage() {
{/* Product Image */} -
- {product.name} +
+
+ {product.imageAlt} +
{/* Product Details */} -
-

{product.name}

-
-
${product.price}
-
⭐ {product.rating} ({product.reviews} reviews)
+
+
+

{product.name}

+
+
+ + {product.rating} + ({product.reviews} reviews) +
+ {product.inStock ? ( + In Stock + ) : ( + Out of Stock + )} +
-

{product.description}

+

+ ${product.price.toFixed(2)} +

+ +

+ {product.description} +

{/* Size Selection */} -
- -
+
+ +
{product.sizes.map((size) => (
{/* Color Selection */} -
- -
+
+ +
{product.colors.map((color) => ( - {quantity} - +
+ + + {quantity} + + +
- {/* Action Buttons */} + {/* Add to Cart */}
- -
{/* Additional Info */} -
-

✓ Free Shipping on orders over $150

-

✓ 30-Day Money Back Guarantee

-

✓ Premium Quality Materials

+
+
+ Free shipping on orders over $150 +
+
+ 30-day returns and exchanges +
+
+ Secure checkout +
-- 2.49.1 From 0e817d1e382c1dc5260bab7b028d4391f9525e68 Mon Sep 17 00:00:00 2001 From: bender Date: Thu, 12 Mar 2026 13:44:33 +0000 Subject: [PATCH 4/4] Update src/app/shop/page.tsx --- src/app/shop/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/shop/page.tsx b/src/app/shop/page.tsx index aa4492b..9828595 100644 --- a/src/app/shop/page.tsx +++ b/src/app/shop/page.tsx @@ -31,7 +31,7 @@ export default function ShopPage() { { name: "Contact", id: "contact" }, ]; - const socialLinks: Array<{ icon: React.ComponentType>; href: string; ariaLabel: string }> = [ + const socialLinks = [ { icon: Instagram, href: "https://instagram.com/umbra", ariaLabel: "Instagram" }, { icon: Twitter, href: "https://twitter.com/umbra", ariaLabel: "Twitter" }, { icon: TikTok, href: "https://tiktok.com/@umbra", ariaLabel: "TikTok" }, -- 2.49.1