diff --git a/src/app/cart/page.tsx b/src/app/cart/page.tsx
index e110355..ef8d8d6 100644
--- a/src/app/cart/page.tsx
+++ b/src/app/cart/page.tsx
@@ -62,7 +62,7 @@ export default function CartPage() {
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" },
+ { icon: TikTok as any, href: "https://tiktok.com/@umbra", ariaLabel: "TikTok" },
{ icon: Youtube, href: "https://youtube.com/@umbra", ariaLabel: "YouTube" },
];
diff --git a/src/app/page.tsx b/src/app/page.tsx
index cd0c949..310f656 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -37,7 +37,7 @@ export default function HomePage() {
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" },
+ { icon: TikTok as any, href: "https://tiktok.com/@umbra", ariaLabel: "TikTok" },
{ icon: Youtube, href: "https://youtube.com/@umbra", ariaLabel: "YouTube" },
];
diff --git a/src/app/product/[id]/page.tsx b/src/app/product/[id]/page.tsx
index fcec043..024f43c 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, Heart, Minus, Plus } from "lucide-react";
+import { Instagram, Twitter, Youtube, Heart, ShoppingCart, ChevronLeft, ChevronRight, Star } from "lucide-react";
import Link from "next/link";
import { useState } from "react";
@@ -30,27 +30,39 @@ export default function ProductPage({ params }: { params: { id: string } }) {
];
const [quantity, setQuantity] = useState(1);
- const [isFavorited, setIsFavorited] = useState(false);
const [selectedSize, setSelectedSize] = useState("M");
const [selectedColor, setSelectedColor] = useState("Black");
+ const [isFavorited, setIsFavorited] = useState(false);
+ const [currentImageIndex, setCurrentImageIndex] = useState(0);
const product = {
id: params.id,
name: "Classic Black Hoodie", price: 89.99,
rating: 4.8,
- 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,
+ reviews: 245,
+ description: "Premium oversized hoodie crafted from 100% organic cotton. Perfect for casual style with a streetwear edge. Features a relaxed fit and reinforced drawstrings.", images: [
+ "http://img.b2bpic.net/free-photo/medium-shot-man-posing-with-hoodie-indoors_23-2149359859.jpg", "http://img.b2bpic.net/free-photo/teenager-boy-stylish-clothes-posing_23-2149085228.jpg", "http://img.b2bpic.net/free-photo/brunette-girl-sitting-bench-central-part-old-city_1153-5758.jpg"],
+ sizes: ["XS", "S", "M", "L", "XL", "XXL"],
+ colors: ["Black", "Gray", "Navy", "Olive"],
+ details: [
+ "Material: 100% Organic Cotton", "Weight: 450gsm", "Care: Machine wash cold, air dry", "Fit: Oversized relaxed fit"],
};
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" },
+ { icon: TikTok as any, href: "https://tiktok.com/@umbra", ariaLabel: "TikTok" },
{ icon: Youtube, href: "https://youtube.com/@umbra", ariaLabel: "YouTube" },
];
+ const handleNextImage = () => {
+ setCurrentImageIndex((prev) => (prev + 1) % product.images.length);
+ };
+
+ const handlePrevImage = () => {
+ setCurrentImageIndex((prev) => (prev - 1 + product.images.length) % product.images.length);
+ };
+
return (
- ${product.price.toFixed(2)} -
- -- {product.description} -
- - {/* Size Selection */} -{product.description}
+ + {/* Size Selection */} +