Shop by Category Grid

Product category browsing with image cards, product counts, and featured badges. Responsive grid layout with hover effects. Perfect for storefront navigation and collection showcases.

FREE

Ecommerce4: Shop by Category Grid

Storefront category browser: full-bleed photo tiles with a dark scrim for text legibility, a name, an optional description and product count, and an optional "Featured" badge, each tile a single clickable link to the category page.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/ecommerce4"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/ecommerce4"

This installs the block to components/beste/block/ecommerce4.tsx and the Badge shadcn/ui primitive it uses.

Quick start

The installed file exports ecommerce4Demo alongside the block: the exact props behind the preview above. Spread it to get a working category grid in one line.

tsx
import { Ecommerce4, ecommerce4Demo } from "@/components/beste/block/ecommerce4";

export default function ShopPage() {
  return <Ecommerce4 {...ecommerce4Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Ecommerce4 } from "@/components/beste/block/ecommerce4";

export default function ShopPage() {
  return (
    <Ecommerce4
      heading="Browse our collections"
      categories={[
        {
          name: "Living Room",
          description: "Sofas, tables and decor",
          image: "https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=600&h=400&fit=crop",
          href: "/categories/living-room",
          productCount: "124 products",
          featured: true,
        },
        {
          name: "Kitchen",
          image: "https://images.unsplash.com/photo-1556909114-f6e7ad7d3136?w=600&h=400&fit=crop",
          href: "/categories/kitchen",
          productCount: "156 products",
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Optional pill badge above the heading
headingstringSection heading
descriptionstringSection intro text
categoriesCategory[][]Category tiles rendered in the grid
classNamestringExtra classes for the outer <section>
ts
type Category = {
  name: string;
  description?: string;
  image: string;
  href: string;
  productCount?: string;
  featured?: boolean;
};

Behavior notes

More Ecommerce blocks

View all Ecommerce
FREE

ecommerce1

Product Card Grid

Responsive product grid with ratings, sale badges, and add to cart buttons. Perfect for shop pages and product catalogs.

FREE

ecommerce32

Shop by Brand Grid

Brand logo cards with product counts and hover effects linking to brand pages. Perfect for multi-brand stores and brand discovery.

PRO

ecommerce27

Category Cards Grid

Category collection grid with overlay images, item counts, and shop now links. Perfect for homepage category navigation and collection pages.

PRO

ecommerce28

Featured Products Grid

Product cards with hover wishlist buttons, quick add to cart overlay, and star ratings. Perfect for featured sections and bestsellers.

PRO

ecommerce33

Collection Showcase Grid

Featured collection card with supporting collection tiles, image overlays, and product counts. Perfect for homepage collection highlights.

PRO

ecommerce14

Related Products Grid

Product recommendations grid with images, prices, and add to cart buttons. Perfect for cross-selling and upselling on product pages.