Product Reviews Section

Customer reviews with star ratings, verified badges, helpful voting, and load more functionality. Displays average rating summary. Perfect for building trust and social proof on product pages.

FREE

Ecommerce6: Product Reviews Section

Customer review list for product pages: an average-rating summary with a "Write a Review" button up top, then individual reviews with an avatar, verified badge, star rating, title, body copy, and a "Helpful" vote button, ending in an optional "Load More" footer.

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

Base UI flavor

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

This installs the block to components/beste/block/ecommerce6.tsx and the Badge and Button shadcn/ui primitives it uses.

Quick start

The installed file exports ecommerce6Demo alongside the block: the exact props behind the preview above. Spread it to get a working reviews section in one line.

tsx
import { Ecommerce6, ecommerce6Demo } from "@/components/beste/block/ecommerce6";

export default function ProductPage() {
  return <Ecommerce6 {...ecommerce6Demo} />;
}

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

tsx
import { Ecommerce6 } from "@/components/beste/block/ecommerce6";

export default function ProductPage() {
  return (
    <Ecommerce6
      heading="Customer Reviews"
      averageRating={4.6}
      totalReviews={42}
      reviews={[
        {
          id: "rev-1",
          author: "Sarah M.",
          rating: 5,
          date: "2 days ago",
          title: "Absolutely love it!",
          content: "Quality exceeded my expectations, shipping was fast.",
          helpful: 24,
          verified: true,
        },
        {
          id: "rev-2",
          author: "James K.",
          rating: 4,
          date: "1 week ago",
          title: "Great product",
          content: "Very happy overall, delivery took a bit longer than expected.",
          helpful: 12,
        },
      ]}
      onHelpful={(id) => console.log("helpful vote", id)}
      onLoadMore={() => console.log("load more reviews")}
    />
  );
}

Props

PropTypeDefaultDescription
headingstringSection heading
averageRatingnumberSummary star rating; hidden unless both this and totalReviews are set
totalReviewsnumberTotal review count shown next to the summary rating
reviewsReview[][]Individual reviews rendered in a list
onLoadMore() => voidCalled by the footer "Load More Reviews" button; the button is hidden entirely when omitted
onHelpful(reviewId: string) => voidCalled with a review's id when its "Helpful" button is pressed
classNamestringExtra classes for the outer <section>
ts
type Review = {
  id: string;
  author: string;
  avatar?: string;
  rating: number;
  date: string;
  title: string;
  content: string;
  helpful?: number;
  verified?: boolean;
};

Behavior notes

More Ecommerce blocks

View all Ecommerce
PRO

ecommerce35

Product Reviews Grid

Review cards with star ratings, product thumbnails, verified badges, and helpfulness counts. Perfect for social proof and testimonial sections.

PRO

ecommerce3

Shopping Cart with Summary

Cart page with item cards, quantity controls, and order summary with shipping calculation. Perfect for checkout flows and cart review pages.

PRO

ecommerce43

Product Information Tabs

Tabbed product details with description, feature list, specifications table, customer reviews with ratings, and shipping information. Perfect for comprehensive product pages with detailed information.

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

ecommerce19

Gift Card Redemption Form

Code input form with loading states, validation, and balance display on success. Perfect for checkout pages and account credit sections.