Skip to content

Testimonials

Testimonials Slideshow

Heading over a photo, then client quotes in an auto-playing, draggable slideshow.

Layout and motion from the Nitip template — see it in context

Installation

$ npx shadcn@latest add https://framebrick.co/r/blocks/testimonials-slideshow.json

Usage

import { TestimonialsSlideshow } from "@/components/testimonials-slideshow";

<TestimonialsSlideshow
  title="What clients say"
  background={{ src: "/office.jpg", alt: "" }}
  testimonials={[
    { quote: "…", name: "Daniel Reyes", company: "Harvest Kitchen", service: "Social media", photo: { src: "/clients/daniel.jpg", alt: "Daniel Reyes" } },
  ]}
/>

Props

PropTypeDefaultDescription
label / titlestring—Small line and heading (h2) over the photo; the label also names the carousel.
background{ src, alt }—Photo behind everything, under a dark overlay (decorative: alt "").
testimonials{ quote, name, company, service, photo }[]3 quotesOne slide each.
intervalnumber5000Milliseconds between slides; 0 turns autoplay off.
classNamestring—Classes for the <section>.
  • Slides are the panel's width on phones and 600px from 768px, so the next one peeks in.
  • 5s autoplay, endless loop, drag or swipe, arrows and ← → keys; autoplay pauses on hover, focus, drag and out of view (slideshow).
  • Text over the photo is white on a black overlay in every theme. The company logos from Nitip are left out.

AI prompt

Paste into v0, Lovable, Bolt or Claude to rebuild this block in your own project.

Create a React + Tailwind CSS + Motion block called TestimonialsSlideshow (Next.js).
- <section className="py-(--section-y)">, container mx-auto max-w-(--container) px-(--gutter). Inside, a rounded-xl box with a cover
  photo and a bg-black/50 overlay, padding p-5 / md:p-8 / lg:p-10, gap-16 / 20 / 24: white text — a small label (white/80) and an
  h2 (font-heading text-h2 semibold) up to max-w-xl — then the slideshow.
- Slideshow: a bg-background panel (rounded-lg, p-5 / md:p-8 / lg:p-12, room at the bottom for two round arrow buttons at the
  bottom right). An endless track of slides (w-full, 600px from 768px, gap 64px) moved with a spring (stiffness 200, damping 40),
  draggable, 5s autoplay that pauses on hover, focus, drag and out of view; ← → keys; hidden slides aria-hidden.
- Slide: a <figure> with a blockquote (text-h3 font-medium) and a figcaption: an 80×96 rounded portrait, "— Name, Company" muted
  and the service (semibold).
- Only shadcn variables and block tokens (white and black only over the photo).

Be the first to know

Get new templates and components first

One short email when we release a template or a free component. No spam — unsubscribe anytime.

We use your email only for Framebrick updates. Privacy policy