diff --git a/src/components/categories/ProductRow.jsx b/src/components/categories/ProductRow.jsx
index 8dcdbe1..f4b34d2 100644
--- a/src/components/categories/ProductRow.jsx
+++ b/src/components/categories/ProductRow.jsx
@@ -12,7 +12,7 @@ const ProductRow = ({ className = "", image17, shirts, onClick, propLeft, propTo
return (

-
-
+
-
-
- Click to view product details
-
-
+
{/* Customize Button */}
);
diff --git a/src/components/categories/ShirtsProductList.jsx b/src/components/categories/ShirtsProductList.jsx
index 3037969..63bb41d 100644
--- a/src/components/categories/ShirtsProductList.jsx
+++ b/src/components/categories/ShirtsProductList.jsx
@@ -5,12 +5,14 @@ import ProductRow from './ProductRow';
import '../../styles/ProductList.css';
const products = [
- { id: 1, name: 'blue aces', price: 99, image: 'path/to/blue-aces-image.png' },
- { id: 2, name: 'blue birdseye', price: 99, image: 'path/to/blue-birdseye-image.png' },
- { id: 3, name: 'blue hydrangea', price: 99, image: 'path/to/blue-hydrangea-image.png' },
- { id: 4, name: 'blue aces', price: 99, image: 'path/to/blue-aces-image.png' },
- { id: 5, name: 'blue birdseye', price: 99, image: 'path/to/blue-birdseye-image.png' },
- { id: 6, name: 'blue hydrangea', price: 99, image: 'path/to/blue-hydrangea-image.png' },
+ { id: 1, name: 'blue aces', price: 99, image: 'https://img.freepik.com/premium-photo/bright-striped-shirt-isolated-white-background_639785-65791.jpg?w=740' },
+ { id: 2, name: 'blue birdseye', price: 99, image: 'https://img.freepik.com/premium-photo/bright-striped-shirt-isolated-white-background_639785-65791.jpg?w=740' },
+ { id: 3, name: 'blue hydrangea', price: 99, image: 'https://img.freepik.com/premium-photo/bright-striped-shirt-isolated-white-background_639785-65791.jpg?w=740' },
+ { id: 4, name: 'blue aces', price: 99, image: 'https://img.freepik.com/premium-photo/bright-striped-shirt-isolated-white-background_639785-65791.jpg?w=740' },
+ { id: 5, name: 'blue birdseye', price: 99, image: 'https://img.freepik.com/premium-photo/bright-striped-shirt-isolated-white-background_639785-65791.jpg?w=740' },
+ { id: 6, name: 'blue hydrangea', price: 99, image: 'https://img.freepik.com/premium-photo/bright-striped-shirt-isolated-white-background_639785-65791.jpg?w=740' },
+ { id: 7, name: 'blue birdseye', price: 99, image: 'https://img.freepik.com/premium-photo/bright-striped-shirt-isolated-white-background_639785-65791.jpg?w=740' },
+ { id: 8, name: 'blue hydrangea', price: 99, image: 'https://img.freepik.com/premium-photo/bright-striped-shirt-isolated-white-background_639785-65791.jpg?w=740' },
];
const ShirtsProductList = () => {
@@ -27,7 +29,7 @@ const ShirtsProductList = () => {
{/* Main content */}
-
Products (Shirts)
+
products (shirts)
Total shirts: ({products.length})
@@ -57,10 +59,9 @@ const ShirtsProductList = () => {
onClick={() => handleCustomize(product.id)}
/>
))}
-
+
);
};
-
export default ShirtsProductList;
diff --git a/src/components/categories/SuitsProductList.jsx b/src/components/categories/SuitsProductList.jsx
index 1ba321c..7da71d9 100644
--- a/src/components/categories/SuitsProductList.jsx
+++ b/src/components/categories/SuitsProductList.jsx
@@ -5,12 +5,12 @@ import ProductRow from './ProductRow';
import '../../styles/ProductList.css';
const products = [
- { id: 1, name: 'blue aces', price: 99, image: 'path/to/blue-aces-image.png' },
- { id: 2, name: 'blue birdseye', price: 99, image: 'path/to/blue-birdseye-image.png' },
- { id: 3, name: 'blue hydrangea', price: 99, image: 'path/to/blue-hydrangea-image.png' },
- { id: 4, name: 'blue aces', price: 99, image: 'path/to/blue-aces-image.png' },
- { id: 5, name: 'blue birdseye', price: 99, image: 'path/to/blue-birdseye-image.png' },
- { id: 6, name: 'blue hydrangea', price: 99, image: 'path/to/blue-hydrangea-image.png' },
+ { id: 1, name: 'blue aces', price: 99, image: 'https://img.freepik.com/premium-photo/blue-suit-with-pocket-square-pocket-square_916191-4671.jpg?w=1060' },
+ { id: 2, name: 'blue birdseye', price: 99, image: 'https://img.freepik.com/premium-photo/blue-suit-with-pocket-square-pocket-square_916191-4671.jpg?w=1060' },
+ { id: 3, name: 'blue hydrangea', price: 99, image: 'https://img.freepik.com/premium-photo/blue-suit-with-pocket-square-pocket-square_916191-4671.jpg?w=1060' },
+ { id: 4, name: 'blue aces', price: 99, image: 'https://img.freepik.com/premium-photo/blue-suit-with-pocket-square-pocket-square_916191-4671.jpg?w=1060' },
+ { id: 5, name: 'blue birdseye', price: 99, image: 'https://img.freepik.com/premium-photo/blue-suit-with-pocket-square-pocket-square_916191-4671.jpg?w=1060' },
+ { id: 6, name: 'blue hydrangea', price: 99, image: 'https://img.freepik.com/premium-photo/blue-suit-with-pocket-square-pocket-square_916191-4671.jpg?w=1060' },
];
const SuitsProductList = () => {
@@ -27,7 +27,7 @@ const SuitsProductList = () => {
{/* Main content */}
-
Products (Suits)
+
products (suits)
Total suits: ({products.length})
@@ -52,8 +52,8 @@ const SuitsProductList = () => {
{products.map((product) => (
handleCustomize(product.id)}
/>
))}
diff --git a/src/components/categories/TuxedosProductList.jsx b/src/components/categories/TuxedosProductList.jsx
index 676f64d..79140fa 100644
--- a/src/components/categories/TuxedosProductList.jsx
+++ b/src/components/categories/TuxedosProductList.jsx
@@ -5,12 +5,12 @@ import ProductRow from './ProductRow';
import '../../styles/ProductList.css';
const products = [
- { id: 1, name: 'black tuxedo', price: 199, image: 'path/to/black-tuxedo-image.png' },
- { id: 2, name: 'navy tuxedo', price: 199, image: 'path/to/navy-tuxedo-image.png' },
- { id: 3, name: 'grey tuxedo', price: 199, image: 'path/to/grey-tuxedo-image.png' },
- { id: 4, name: 'blue aces', price: 99, image: 'path/to/blue-aces-image.png' },
- { id: 5, name: 'blue birdseye', price: 99, image: 'path/to/blue-birdseye-image.png' },
- { id: 6, name: 'blue hydrangea', price: 99, image: 'path/to/blue-hydrangea-image.png' },
+ { id: 1, name: 'black tuxedo', price: 199, image: 'https://img.freepik.com/free-photo/mens-suit-photography_1409-5606.jpg?t=st=1722512821~exp=1722516421~hmac=382d80f23936af8160894d570a04e687dc3e41f045803cc88f16eaf0e816583a&w=740' },
+ { id: 2, name: 'navy tuxedo', price: 199, image: 'https://img.freepik.com/free-photo/mens-suit-photography_1409-5606.jpg?t=st=1722512821~exp=1722516421~hmac=382d80f23936af8160894d570a04e687dc3e41f045803cc88f16eaf0e816583a&w=740' },
+ { id: 3, name: 'grey tuxedo', price: 199, image: 'https://img.freepik.com/free-photo/mens-suit-photography_1409-5606.jpg?t=st=1722512821~exp=1722516421~hmac=382d80f23936af8160894d570a04e687dc3e41f045803cc88f16eaf0e816583a&w=740' },
+ { id: 4, name: 'blue aces', price: 99, image: 'https://img.freepik.com/free-photo/mens-suit-photography_1409-5606.jpg?t=st=1722512821~exp=1722516421~hmac=382d80f23936af8160894d570a04e687dc3e41f045803cc88f16eaf0e816583a&w=740' },
+ { id: 5, name: 'blue birdseye', price: 99, image: 'https://img.freepik.com/free-photo/mens-suit-photography_1409-5606.jpg?t=st=1722512821~exp=1722516421~hmac=382d80f23936af8160894d570a04e687dc3e41f045803cc88f16eaf0e816583a&w=740' },
+ { id: 6, name: 'blue hydrangea', price: 99, image: 'https://img.freepik.com/free-photo/mens-suit-photography_1409-5606.jpg?t=st=1722512821~exp=1722516421~hmac=382d80f23936af8160894d570a04e687dc3e41f045803cc88f16eaf0e816583a&w=740' },
];
const TuxedosProductList = () => {
@@ -27,7 +27,7 @@ const TuxedosProductList = () => {
{/* Main content */}
-
Products (Tuxedos)
+
products (tuxedos)
Total tuxedos: ({products.length})
diff --git a/src/components/customize/Customize.jsx b/src/components/customize/Customize.jsx
index 225c680..edaa515 100644
--- a/src/components/customize/Customize.jsx
+++ b/src/components/customize/Customize.jsx
@@ -1,17 +1,31 @@
-import React, { useState } from 'react';
+import React, { useState, useEffect } from 'react';
import { useParams, useNavigate, Link } from 'react-router-dom';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faChevronLeft } from '@fortawesome/free-solid-svg-icons';
-import Sidebar from '../sidebar/Sidebar';
+import Sidebar from '../sidebar/Sidebar';
import '../../styles/Customize.css';
-
-
const Customize = () => {
const { id } = useParams();
const navigate = useNavigate();
const [style, setStyle] = useState('');
const [material, setMaterial] = useState('');
+ const [productImage, setProductImage] = useState('');
+
+ useEffect(() => {
+ // Fetch the product image URL based on the product ID
+ const fetchProductImage = async () => {
+ try {
+ const response = await fetch(`/api/products/${id}`);
+ const data = await response.json();
+ setProductImage(data.imageUrl); // Assume `data.imageUrl` is the URL of the product image
+ } catch (error) {
+ console.error('Error fetching product image:', error);
+ }
+ };
+
+ fetchProductImage();
+ }, [id]);
const handleStyleChange = (event) => {
setStyle(event.target.value);
@@ -46,27 +60,34 @@ const Customize = () => {
};
return (
-
+
{/* Sidebar */}
{/* Main content */}
-
-
-
+ {/* Header */}
+
+
+
-
Customize Product
+ Customize Product
-
-
+
+ {/* Content */}
+
+ {/* Customization Options */}
+
+
Customize
+
+ {/* Style Selection */}
+
+ {/* Material Selection */}
+
+ {/* Save Button */}
+
+ {/* Product Image */}
+
+ {productImage ? (
+

+ ) : (
+
Loading image...
+ )}
+
diff --git a/src/pages/AdminDashboard.jsx b/src/pages/AdminDashboard.jsx
index ff24d67..0098d94 100644
--- a/src/pages/AdminDashboard.jsx
+++ b/src/pages/AdminDashboard.jsx
@@ -29,7 +29,7 @@ const AdminDashboard = () => {

diff --git a/src/pages/EmployeeDashboard.jsx b/src/pages/EmployeeDashboard.jsx
index 3816e6f..259cd4a 100644
--- a/src/pages/EmployeeDashboard.jsx
+++ b/src/pages/EmployeeDashboard.jsx
@@ -44,7 +44,7 @@ const EmployeeDashboard = () => {
-

+