
One large testimonial quote centered on the page with an avatar, name, and role beneath it.
@shadcnblocks
block/testimonial10/testimonial10.tsx
import { cn } from "cn";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
const person1 = {
name: "Jack Walsh",
firstName: "Jack",
lastName: "Walsh",
initials: "JW",
email: "jack.walsh@example.com",
username: "jackwalsh",
role: "Product Designer",
company: "Cartwright",
location: "Brisbane, Australia",
avatar: "https://cdn.shadcnblocks.com/shadcnblocks/image-set/modern/avatars/avatar1.webp",
};
interface Testimonial10Props {
className?: string;
quote?: string;
author?: {
name: string;
role: string;
avatar: {
src: string;
alt: string;
className?: string;
};
};
}
const Testimonial10 = ({
className,
quote = "Lorem ipsum dolor sit amet consectetur adipisicing elit. Elig doloremque mollitia fugiat omnis! Porro facilis quo animi consequatur. Explicabo.",
author = {
name: person1.name,
role: person1.role,
avatar: {
src: person1.avatar,
alt: person1.name,
},
},
}: Testimonial10Props) => {
return (
<section className={cn("py-32", className)}>
<div className="container">
<div className="flex flex-col items-center text-center">
<p className="mb-16 max-w-4xl px-8 font-medium lg:text-3xl">
“{quote}”
</p>
<div className="flex items-center gap-2 md:gap-4">
<Avatar className="size-12 md:size-16">
<AvatarImage src={author.avatar.src} alt={author.avatar.alt} />
<AvatarFallback>{author.name}</AvatarFallback>
</Avatar>
<div className="text-left">
<p className="text-sm font-medium md:text-base">{author.name}</p>
<p className="text-sm text-muted-foreground md:text-base">
{author.role}
</p>
</div>
</div>
</div>
</div>
</section>
);
};
export { Testimonial10 };





























