Skip to main content

ProductNoThumbnail

Description

A simple SVG placeholder icon displayed when a product has no thumbnail image. Shows a gray box icon to indicate missing product imagery.

Import

import { ProductNoThumbnail } from '@components/common/ProductNoThumbnail';

Usage

import { ProductNoThumbnail } from '@components/common/ProductNoThumbnail';

function ProductCard({ product }) {
return (
<div className="product-card">
{product.image ? (
<img src={product.image} alt={product.name} />
) : (
<ProductNoThumbnail width={200} height={200} />
)}
</div>
);
}

Props

NameTypeDefaultDescription
widthnumber100Width of the SVG in pixels
heightnumber100Height of the SVG in pixels
classNamestring-Additional CSS classes

Example: Product Grid

import { ProductNoThumbnail } from '@components/common/ProductNoThumbnail';

function ProductGrid({ products }) {
return (
<div className="grid grid-cols-3 gap-4">
{products.map(product => (
<div key={product.id} className="product-item">
{product.thumbnail ? (
<img src={product.thumbnail} alt={product.name} />
) : (
<ProductNoThumbnail width={300} height={300} />
)}
<h3>{product.name}</h3>
</div>
))}
</div>
);
}

Example: With Custom Styling

import { ProductNoThumbnail } from '@components/common/ProductNoThumbnail';

function ProductPlaceholder() {
return (
<div className="product-image-container">
<ProductNoThumbnail
width={400}
height={400}
className="opacity-50 bg-gray-100 rounded-lg p-4"
/>
</div>
);
}