ecommerce / components / product-lists
With Cta Link
02-with-cta-link.jsx
const products = [
{
id: 1,
name: 'Leather Long Wallet',
color: 'Natural',
price: '$75',
href: '#',
imageSrc: 'https://tailwindcss.com/plus-assets/img/ecommerce-images/home-page-04-trending-product-02.jpg',
imageAlt: 'Hand stitched, orange leather long wallet.',
},
{
id: 2,
name: 'Machined Pencil and Pen Set',
color: 'Black',
price: '$70',
href: '#',
imageSrc: 'https://tailwindcss.com/plus-assets/img/ecommerce-images/home-page-04-trending-product-03.jpg',
imageAlt: '12-sided, machined black pencil and pen.',
},
{
id: 3,
name: 'Mini-Sketchbooks',
color: 'Light Brown',
price: '$27',
href: '#',
imageSrc: 'https://tailwindcss.com/plus-assets/img/ecommerce-images/home-page-04-trending-product-04.jpg',
imageAlt: 'Set of three light and dark brown mini sketch books.',
},
{
id: 4,
name: 'Organizer Set',
color: 'Walnut',
price: '$149',
href: '#',
imageSrc: 'https://tailwindcss.com/plus-assets/img/ecommerce-images/home-page-04-trending-product-01.jpg',
imageAlt: 'Beautiful walnut organizer set with multiple white compartments',
},
]
export default function Example() {
return (
<div className="bg-white">
<div className="mx-auto max-w-2xl px-4 py-16 sm:px-6 sm:py-24 lg:max-w-7xl lg:px-8">
<div className="md:flex md:items-center md:justify-between">
<h2 className="text-2xl font-bold tracking-tight text-gray-900">Trending products</h2>
<a href="#" className="hidden text-sm font-medium text-indigo-600 hover:text-indigo-500 md:block">
Shop the collection
<span aria-hidden="true"> →</span>
</a>
</div>
<div className="mt-6 grid grid-cols-2 gap-x-4 gap-y-10 sm:gap-x-6 md:grid-cols-4 md:gap-y-0 lg:gap-x-8">
{products.map((product) => (
<div key={product.id} className="group relative">
<div className="h-56 w-full overflow-hidden rounded-md bg-gray-200 group-hover:opacity-75 lg:h-72 xl:h-80">
<img alt={product.imageAlt} src={product.imageSrc} className="size-full object-cover" />
</div>
<h3 className="mt-4 text-sm text-gray-700">
<a href={product.href}>
<span className="absolute inset-0" />
{product.name}
</a>
</h3>
<p className="mt-1 text-sm text-gray-500">{product.color}</p>
<p className="mt-1 text-sm font-medium text-gray-900">{product.price}</p>
</div>
))}
</div>
<div className="mt-8 text-sm md:hidden">
<a href="#" className="font-medium text-indigo-600 hover:text-indigo-500">
Shop the collection
<span aria-hidden="true"> →</span>
</a>
</div>
</div>
</div>
)
}