import { cn } from "@/lib/utils"; import { useRef, useState } from "react"; import { Icons } from "../icons"; import Link from "next/link"; import Image from "next/image"; const testimonials = [ { name: "Dev Ed", profession: "Content Creator", link: "https://x.com/edgarasben/status/1856336936505590160", description: "This has been the best auth experience by a mileee, auto generated my drizzle schemas for users, sessions etc, full type safe and dead simple api, well done @better_auth 👏👏", avatar: "https://pbs.twimg.com/profile_images/1620476753398452224/fcozbw1J_400x400.jpg", image: "", social: , }, { name: "Sébastien Chopin", profession: "Creator of Nuxt & NuxtLabs", link: "https://x.com/Atinux/status/1853751424561336322", description: "When @better_auth meets @nuxt_hub to build full-stack Nuxt apps on Cloudflare (using D1 & KV).", avatar: "https://pbs.twimg.com/profile_images/1862505215624142848/7tSrng8r_400x400.jpg", image: "", social: , }, { name: "Kevin Kern", profession: "Developer", link: "https://x.com/kregenrek/status/1855395938262831140", description: "Digging into better-auth.com this weekend. Check it out really cool lib", avatar: "https://pbs.twimg.com/profile_images/1849574174785732608/ltlLcyaT_400x400.jpg", image: "", social: , }, { name: "Jonathan Wilke", profession: "Creator of Supastarter", link: "https://x.com/jonathan_wilke/status/1853086900279562329", description: "fuck, @better_auth is just so good", avatar: "https://pbs.twimg.com/profile_images/1849386198537560064/NKFdXusJ_400x400.jpg", image: "", social: , }, { name: "Tim⚡Dev", profession: "Developer", link: "https://x.com/TimOConnellDev/status/1845273839506530404", description: "I love the js ecosystem. There’s always something disruptive happening. Just heard about @better_auth", avatar: "https://pbs.twimg.com/profile_images/1835593762833354752/1bN3_d3F_400x400.jpg", image: "", social: , }, { name: "Yared Y Tegegn", profession: "Developer", link: "https://x.com/yared_ow/status/1848435855309873453", description: "It took me only 30 minutes to setup auth in my project thanks to @better_auth. Hands down, the best auth library I have ever used.", avatar: "https://pbs.twimg.com/profile_images/1854956005391532033/aLu4S0pU_400x400.jpg", image: "", social: , }, { name: "Paul Jasper", profession: "Indie hacker", link: "https://x.com/pauljasperdev/status/1854938664645558279", description: "Solved auth for my next project and I’m pretty happy with it: @better_auth with @prisma serverless database. What a great team!", avatar: "https://pbs.twimg.com/profile_images/1788425134170066944/wPanxB4f_400x400.jpg", image: "", social: , }, { name: "Glenno", profession: "Developer", link: "https://x.com/ammostockpile/status/1854150422170354174", description: "Someone has finally nailed auth for Typescript projects. I have been searching for something like this for years. Years. Anonymous auth, passcodes, 2fa, plugin architecture. Brilliant work @better_auth.", avatar: "https://pbs.twimg.com/profile_images/1850320546702958592/05O2vFM9_400x400.jpg", image: "", social: , }, { name: "Yusuf Mansur Özer", profession: "Developer", link: "https://x.com/ymansurozer/status/1855579561875943731", description: "Better Auth looks so nice and complete. Will definitely try it out after v1. I am currently with Nuxt Auth Utils it is great to start but Better Auth might be the way to go for bigger projects. 👀", avatar: "https://pbs.twimg.com/profile_images/1532002119972274177/D3SKwakL_400x400.jpg", image: "", social: , }, { name: "Dagmawi Babi", profession: "Developer", link: "https://x.com/DagmawiBabi/status/1845966382703280458", description: "@better_auth exceeded all expectations, and it's just getting started", avatar: "https://pbs.twimg.com/profile_images/1853424779392380928/NMpggRqG_400x400.jpg", image: "", social: , }, ]; type TestimonialProps = (typeof testimonials)[number]; const PeopleSay = ({ reverse = false, testimonials, }: { reverse?: boolean; testimonials: TestimonialProps[]; }) => { const animeSeconds = testimonials.length * 10; return (
{testimonials.map((testimonial, indx) => { return (

"{testimonial.description}."

avatar
{testimonial.name}

{testimonial.profession}

{testimonial.social}
); })}
); }; export const Testimonial = () => { return (
); };