4 Logos blocks built with Shadcn UI, Tailwind & React.
// This template requires the Embla Auto Scroll plugin to be installed://// npm install embla-carousel-auto-scroll"use client";import AutoScroll from "embla-carousel-auto-scroll";import {Carousel,CarouselContent,CarouselItem,} from "@/components/ui/carousel";interface Logo {id: string;description: string;image: string;className?: string;}interface Logos3Props {heading?: string;logos?: Logo[];className?: string;}const Logos3 = ({heading = "Trusted by these companies",logos = [{id: "logo-1",description: "Logo 1",image: "https://shadcnblocks.com/images/block/logos/astro.svg",className: "h-7 w-auto",},{id: "logo-2",description: "Logo 2",image: "https://shadcnblocks.com/images/block/logos/figma.svg",className: "h-7 w-auto",},{id: "logo-3",description: "Logo 3",image: "https://shadcnblocks.com/images/block/logos/nextjs.svg",className: "h-7 w-auto",},{id: "logo-4",description: "Logo 4",image: "https://shadcnblocks.com/images/block/logos/react.png",className: "h-7 w-auto",},{id: "logo-5",description: "Logo 5",image: "https://shadcnblocks.com/images/block/logos/shadcn-ui.svg",className: "h-7 w-auto",},{id: "logo-6",description: "Logo 6",image: "https://shadcnblocks.com/images/block/logos/supabase.svg",className: "h-7 w-auto",},{id: "logo-7",description: "Logo 7",image: "https://shadcnblocks.com/images/block/logos/tailwind.svg",className: "h-4 w-auto",},{id: "logo-8",description: "Logo 8",image: "https://shadcnblocks.com/images/block/logos/vercel.svg",className: "h-7 w-auto",},],}: Logos3Props) => {return (<section className="py-64"><div className="container flex flex-col items-center text-center"><h1 className="my-6 text-pretty text-2xl font-bold lg:text-4xl">{heading}</h1></div><div className="pt-10 md:pt-16 lg:pt-20"><div className="relative mx-auto flex items-center justify-center lg:max-w-5xl"><Carouselopts={{ loop: true }}plugins={[AutoScroll({ playOnInit: true })]}><CarouselContent className="ml-0">{logos.map((logo) => (<CarouselItemkey={logo.id}className="flex basis-1/3 justify-center pl-0 sm:basis-1/4 md:basis-1/5 lg:basis-1/6"><div className="mx-10 flex shrink-0 items-center justify-center"><div><imgsrc={logo.image}alt={logo.description}className={logo.className}/></div></div></CarouselItem>))}</CarouselContent></Carousel><div className="absolute inset-y-0 left-0 w-12 bg-gradient-to-r from-background to-transparent"></div><div className="absolute inset-y-0 right-0 w-12 bg-gradient-to-l from-background to-transparent"></div></div></div></section>);};export { Logos3 };
interface Logo {name: string;logo: string;className: string;}interface Logos8Props {title?: string;subtitle?: string;logos?: Logo[];}const Logos8 = ({title = "Trusted by these companies",subtitle = "Used by the world's leading companies",logos = [{name: "Vercel",logo: "https://shadcnblocks.com/images/block/logos/vercel.svg",className: "h-7 w-auto",},{name: "Astro",logo: "https://shadcnblocks.com/images/block/logos/tailwind.svg",className: "h-5 w-auto",},{name: "Supabase",logo: "https://shadcnblocks.com/images/block/logos/supabase.svg",className: "h-6 w-auto",},{name: "Figma",logo: "https://shadcnblocks.com/images/block/logos/figma.svg",className: "h-5 w-auto",},{name: "Astro",logo: "https://shadcnblocks.com/images/block/logos/astro.svg",className: "h-6 w-auto",},],}: Logos8Props) => {return (<section className="py-32"><div className="container"><div className="flex flex-col items-center text-center"><h2 className="text-3xl font-bold">{title}</h2><p className="mt-1 text-muted-foreground">{subtitle}</p><div className="mt-8 flex flex-wrap items-center justify-center gap-x-8 gap-y-6 lg:gap-12">{logos.map((logo, index) => (<imgkey={index}src={logo.logo}alt={`${logo.name} logo`}width={109}height={48}className={logo.className}/>))}</div></div></div></section>);};export { Logos8 };