Staaarter

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.

By Staaarter Team
Ecommerce
Docs
Live preview

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.json

Prefer 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

PropTypeDefaultDescription
headingstring"Shop by collection"Section heading; omitted entirely when both heading and description are unset.
descriptionstringnoneSupporting copy under the heading.
featuredCollectionItemnoneThe large hero collection card on the left (top on mobile).
collectionsCollectionItem[]noneSmaller supporting collection tiles in the grid.
classNamestringnoneExtra 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.