product-card-01-block
stackzero/product-card-01-blockFreeBlock
stackzero publishes no description for this item.
Install it
npx shadcn@latest add https://ui.stackzero.co/r/product-card-01-block.jsonSource
1"use client";23import ImageViewer from "@/components/commerce-ui/image-viewer-basic";4import PriceFormat from "@/components/commerce-ui/price-format-basic";5import StarRating_Fractions from "@/components/commerce-ui/star-rating-fractions";6import { Button } from "@/components/ui/button";78const DEFAULT_IMAGE_URL =9 "https://raw.githubusercontent.com/stackzero-labs/ui/refs/heads/main/public/placeholders/headphone-1.jpg";1011interface ProductCardProps {12 imageUrl?: string;13 discount?: string | null;14 title?: string;15 description?: string;16 price?: number;17 prefix?: string;18 rating?: number;19 reviewCount?: number;20 onAddToCart?: () => void;21 onBuyNow?: () => void;22 freeShipping?: boolean;23}2425function ProductCard_01({26 description = "Premium noise-cancelling headphones with surround sound technology and high comfort",27 discount = "20% OFF",28 freeShipping = true,29 imageUrl = DEFAULT_IMAGE_URL,30 onAddToCart = () => {},31 onBuyNow = () => {},32 prefix = "$",33 price = 98.96,34 rating = 4.7,35 reviewCount = 65,36 title = "Wireless headset",37}: ProductCardProps = {}) {38 return (39 <div className="group relative flex w-[350px] flex-col overflow-hidden rounded-xl border border-gray-200 bg-white shadow-sm transition-all duration-300 hover:shadow-md dark:border-gray-800 dark:bg-gray-900">40 {/* Image section with background and dynamic glow effect */}41 <div className="relative overflow-hidden bg-gradient-to-br from-teal-50 to-cyan-50 p-5 dark:from-teal-950/30 dark:to-cyan-950/30">42 {discount && (43 <div className="absolute top-3 left-3 z-10">44 <span className="relative inline-block rounded-full bg-gradient-to-r from-teal-500 to-cyan-600 px-3 py-1.5 text-xs font-bold text-white">45 {discount}46 </span>47 </div>48 )}4950 {/* Glow effect */}51 <div className="absolute -bottom-10 left-1/2 h-40 w-40 -translate-x-1/2 transform rounded-full bg-teal-500/20 blur-3xl"></div>5253 <div className="transition-transform duration-500 group-hover:scale-105">54 <ImageViewer55 imageUrl={imageUrl}56 classNameThumbnailViewer="rounded-lg object-contain h-[200px] mx-auto"57 />58 </div>59 </div>6061 {/* Content section */}62 <div className="flex flex-1 flex-col gap-3 p-5">63 <div>64 <h3 className="mb-1.5 text-xl font-semibold tracking-tight text-gray-900 dark:text-gray-100">65 {title}66 </h3>6768// … truncated
What it pulls in
Other registry items
Files it writes
More from stackzero
All 112 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| address-01-blockaddress-01-block | stackzero | Blocks | Free | 4 deps | |
| address-02-blockaddress-02-block | stackzero | Blocks | Free | 4 deps | |
| address-03-blockaddress-03-block | stackzero | Blocks | Free | 4 deps | |
| banner-01-blockbanner-01-block | stackzero | Blocks | Free | no deps | |
| banner-02-blockbanner-02-block | stackzero | Blocks | Free | no deps | |
| banner-03-blockbanner-03-block | stackzero | Blocks | Free | no deps | |
| banner-04-blockbanner-04-block | stackzero | Blocks | Free | no deps | |
| banner-05-blockbanner-05-block | stackzero | Blocks | Free | no deps |
