Collection Showcase Grid
A collection landing section for a shop homepage or category hub: one large featured-collection card with an image, name, product count, and a "Shop now" button, next to a grid of smaller collection tiles, each with a gradient image overlay, name, and product count.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, media-slot dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/collection-showcase-grid.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/ecommerce/ecommerce3.tsx instead.
Usage
The file also exports ecommerce3Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Ecommerce3, ecommerce3Demo } from "@/components/blocks/ecommerce/ecommerce3"; export default function Page() { return <Ecommerce3 {...ecommerce3Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | string | "Shop by collection" | Section heading; omitted entirely when both heading and description are unset. |
| description | string | none | Supporting copy under the heading. |
| featured | CollectionItem | none | The large hero collection card on the left (top on mobile). |
| collections | CollectionItem[] | none | Smaller supporting collection tiles in the grid. |
| className | string | none | Extra classes for the outer section element. |
Types
interface CollectionItem { name: string; productCount: number; href: string; image?: { src: string; alt: string }; }
Behavior notes
- This is a static server component, there is no client-side state; "Shop now" and every collection tile are plain links (`next/link`) to `href`.
- Every tile's dark gradient overlay is decorative chrome to keep the white name/count text readable over the photo, it isn't a hover-only reveal, it's always visible.
- Tiles without an `image` fall back to `MediaSlot`'s built-in gradient-and-icon placeholder rather than breaking the layout.
- The featured card and the supporting grid are independent props (`featured` vs `collections`), so the hero card's aspect ratio and size never change based on how many supporting tiles are passed.
More Ecommerce Blocks
View all →wishlist-manager
Wishlist Manager
Saved-items list with stock-status badges, move-to-cart and remove actions, and a real empty state.
product-information-tabs
Product Information Tabs
Tabbed product details with Description, Features, Specifications, Reviews, and Shipping panels.
shop-by-brand-grid
Shop by Brand Grid
A grid of bordered brand tiles with a wordmark-style name, product count, and a hover affordance.
sale-countdown-timer
Sale Countdown Timer
A live days/hours/minutes/seconds countdown in default, compact, or full-width banner layouts.
gift-card-redemption-form
Gift Card Redemption Form
A code-entry form that validates against a fixed list of demo gift cards and shows a real success or error state.
shipping-info-cards
Shipping Info Cards
A row of icon cards covering shipping, delivery, returns, and support promises.