18Switch language to English
تيلويند CSSابدأ مع تيلويند الإصدار 4

Templates for the Web

Clean, modern templates. Copy and paste into your apps. Works with all React frameworks. Open Source. Free forever.

Files
app/testimonials-01/page.tsx
import { Testimonials } from "@/components/testimonials-01"
import { dictionary } from "@/registry/bases/base/blocks/testimonials-01/testimonials-01-dictionary"

export default async function Page({
  params,
}: {
  params?: Promise<{ lang?: string }>
}) {
  const { lang } = (await params) ?? {}
  const locale = lang === "ar" ? "ar" : "en"
  return <Testimonials dictionary={dictionary[locale]} lang={locale} />
}
Centered heading over a three-column grid of quote cards with avatar, name and role.
testimonials-01
testimonials-01
Files
app/testimonials-02/page.tsx
import { Testimonials } from "@/components/testimonials-02"
import { dictionary } from "@/registry/bases/base/blocks/testimonials-02/testimonials-02-dictionary"

export default async function Page({
  params,
}: {
  params?: Promise<{ lang?: string }>
}) {
  const { lang } = (await params) ?? {}
  const locale = lang === "ar" ? "ar" : "en"
  return <Testimonials dictionary={dictionary[locale]} lang={locale} />
}
Primary-colored band with marquee watermarks, a scrollable chat-bubble testimonial card and vertical category tabs.
testimonials-02
testimonials-02
Files
app/testimonials-03/page.tsx
import { Testimonials } from "@/components/testimonials-03"
import { dictionary } from "@/registry/bases/base/blocks/testimonials-03/testimonials-03-dictionary"

export default async function Page({
  params,
}: {
  params?: Promise<{ lang?: string }>
}) {
  const { lang } = (await params) ?? {}
  const locale = lang === "ar" ? "ar" : "en"
  return <Testimonials dictionary={dictionary[locale]} lang={locale} />
}
Centered looping carousel of large story cards with rating, date and portrait; neighbouring cards peek at reduced scale.
testimonials-03
testimonials-03