File: src/blocks/testimonials/Testimonials01.astro
Responsive grid of testimonial cards.
Config (blocks.ts → testimonials)
testimonials: {
width: "standard",
heading: "Kind words",
subheading: "Don't take our word for it. Here's what our users have to say.",
items: [
{
quote:
"Delivered ahead of schedule with zero hand-holding. The site scores 98 on Lighthouse and our bounce rate dropped 30%.",
name: "Sarah Chen",
role: "Founder, Northline Studio",
initials: "SC",
image: photos.karla,
imageAlt: "Sarah Chen",
},
{
quote:
"Finally a developer who speaks design. Every component was thoughtful, documented, and easy for us to extend.",
name: "Marcus Webb",
role: "Creative Director, Form & Field",
initials: "MW",
image: photos.edgar,
imageAlt: "Marcus Webb",
},
{
quote:
"Our Sanity + Astro rebuild cut hosting costs in half and made content updates painless for the whole team.",
name: "Elena Ruiz",
role: "Head of Marketing, Scalepath",
initials: "ER",
},
],
},
Add to a page
---
import Testimonials01 from "@/blocks/testimonials/Testimonials01.astro";
---
<Testimonials01 />
Props override matching keys from config:
<Testimonials01
heading="Custom headline"
/>
Props
| Prop | Config key | Type / values | Default / notes |
|---|---|---|---|
heading |
testimonials.heading |
string |
— |
subheading |
testimonials.subheading |
string |
— |
items |
testimonials.items |
Array of { quote, name, role?, image?, imageAlt? } — image is LocalImageSource |
Content list for this block |
Also include: TestimonialCard.astro. Avatar images: Images.
