Product Reviews Grid
A gallery grid of customer reviews spanning multiple products, with star ratings, verified badges, and helpfulness counts. Built for a storewide reviews or testimonials page, not a single product's review list.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its badge dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/product-reviews-grid.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/ecommerce/ecommerce25.tsx instead.
Usage
The file also exports ecommerce25Demo, 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 { Ecommerce25, ecommerce25Demo } from "@/components/blocks/ecommerce/ecommerce25"; export default function Page() { return <Ecommerce25 {...ecommerce25Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| heading | string | "What customers are saying" | Heading above the review grid. |
| description | string | "Real reviews from verified buyers across our catalog." | Supporting sentence under the heading. |
| reviews | ProductReview[] | [] | Review cards to render in the grid. |
| className | string | none | Extra classes for the outer section element. |
Types
type ProductReview = { reviewerName: string; rating: number; // 0-5, rounded to the nearest whole star for the filled-star count productName: string; text: string; verified?: boolean; helpfulCount: number; image?: { src: string; alt: string }; };
Behavior notes
- Fully static: the star rating is a rounded visual built from the rating number and the helpfulCount is a plain number, not a live counter, so clicking anywhere on a card does nothing.
- "Verified Purchase" only renders when a review sets verified: true; unverified reviews just omit the badge rather than showing a "not verified" state.
- A review without an image falls back to the product name's first letter in a muted tile instead of a broken image or generic icon.
- Review text is clamped to 4 lines with line-clamp-4; longer reviews are visually truncated with no "read more" expansion, since this grid favors scanability over full text.
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.
collection-showcase-grid
Collection Showcase Grid
A large featured-collection hero card alongside a grid of smaller supporting collection tiles.
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.