Staaarter

Category Tiles with Counts

A centered header sits above a responsive grid of category tiles. Each tile has an icon in a tinted rounded square, a category name, and a formatted listing count (e.g. "42 tools") - a good fit for category-browse or marketplace sections.

By Staaarter Team
Feature
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/category-tiles-with-counts.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/feature/feature152.tsx instead.

Usage

The file also exports feature152Demo, 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 { Feature152, feature152Demo } from "@/components/blocks/feature/feature152";

export default function Page() {
  return <Feature152 {...feature152Demo} />;
}

Props

PropTypeDefaultDescription
eyebrowstringundefinedSmall label above the heading.
headingstringnoneSection heading.
descriptionstringundefinedSupporting copy under the heading.
categoriesFeature152Category[]noneCategory tiles, each with an icon, a name, and a formatted count string.
classNamestringnoneExtra classes for the outer section element.

Types

interface Feature152Category {
  icon: LucideIcon;
  name: string;
  count: string; // pre-formatted, e.g. "42 tools"
}

Behavior notes

  • Fully static server component, no click or hover interaction beyond a CSS-only border color change on hover.
  • The listing count is passed in already formatted (e.g. "42 tools") rather than a raw number, so the block never needs to pluralize or format on its own.
  • Each item's icon is a Lucide component passed directly as a prop, which is safe here because this is a plain server component (a client component could not accept a component reference as a prop).