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}."
{testimonial.name}
{testimonial.profession}
{testimonial.social}
);
})}
);
};
export const Testimonial = () => {
return (
);
};