Staaarter

Social Post Style Cards

Testimonial cards styled like social media posts: avatar and handle in the header, the quote as the post body, and a decorative footer row of like/repeat/comment counts. Good for a section that wants the informal, screenshot-of-a-tweet feel without embedding real third-party posts.

By Staaarter Team
Testimonials
Docs
Live preview

Docs

Installation

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

npx shadcn add https://staaarter.com/r/social-post-style-cards.json

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

Usage

The file also exports testimonial8Demo, 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 { Testimonial8, testimonial8Demo } from "@/components/blocks/testimonials/testimonial8";

export default function Page() {
  return <Testimonial8 {...testimonial8Demo} />;
}

Props

PropTypeDefaultDescription
headingReactNodeundefinedSection heading.
descriptionstringundefinedSupporting text below the heading.
postsPostItem[]noneCards, each with a name, handle, quote, and like/repost/comment counts.
classNamestringnoneExtra classes for the outer section element.

Types

type PostItem = {
  name: string;
  handle: string;
  avatar?: { src: string; alt: string };
  quote: string;
  likes: number;
  reposts: number;
  comments: number;
};

Behavior notes

  • This is a Server Component with zero event handlers. The like/repeat/comment counts are static decoration rendered as plain <span> elements with an icon and a number, not real buttons, and clicking them does nothing.
  • Avatars fall back to initials when no photo src is supplied (the demo data uses initials only, no photos).