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.

FREE

Ecommerce32: Shop by Brand Grid

Brand-discovery grid for multi-brand storefronts: grayscale logo tiles that turn full color on hover, each linking out to its brand page with an optional product count beneath the name.

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/ecommerce32"

Base UI flavor

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

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

Quick start

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

tsx
import { Ecommerce32, ecommerce32Demo } from "@/components/beste/block/ecommerce32";

export default function ShopPage() {
  return <Ecommerce32 {...ecommerce32Demo} />;
}

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

tsx
import { Ecommerce32 } from "@/components/beste/block/ecommerce32";

export default function ShopPage() {
  return (
    <Ecommerce32
      heading="Shop by Brand"
      productCountLabel="products"
      brands={[
        { name: "Nike", logo: "/logos/nike.png", href: "/brands/nike", productCount: 342 },
        { name: "Adidas", logo: "/logos/adidas.png", href: "/brands/adidas", productCount: 287 },
        { name: "Puma", logo: "/logos/puma.png", href: "/brands/puma", productCount: 198 },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Optional pill badge above the heading
headingstringSection heading
descriptionstringSection intro text
brandsBrand[][]Brand tiles rendered in the grid
productCountLabelstringTrailing unit label appended after each brand's product count (e.g. "products")
classNamestringExtra classes for the outer <section>
ts
type Brand = {
  name: string;
  logo: string;
  href?: string;
  productCount?: number;
};

Behavior notes

More Ecommerce blocks

View all Ecommerce
FREE

ecommerce4

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

ecommerce1

Product Card Grid

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

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

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

ecommerce14

Related Products Grid

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

PRO

ecommerce33

Collection Showcase Grid

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