import React from "react"; import { useId } from "react"; export function Features() { return (
{grid.map((feature) => (

{feature.title}

{feature.description}

))}
); } const grid = [ { title: "Framework Agnostic", description: "Supports your favorite frontend, backend and meta frameworks, including React, Vue, Svelte, Solid, Next.js, Nuxt.js, Hono, and more.", }, { title: "Automatic Database Management", description: "better auth will automatically manage required tables for authentication, just configure the database and better auth will do the rest.", }, { title: "Email & Password Authentication", description: "Builtin support for email and password authentication, with secure password hashing and account management features.", }, { title: "Social Sign-on", description: "Allow users to sign in with their accounts, including Github, Google, Discord, Twitter, and more.", }, { title: "Organization & Access Control", description: "Manage users and their access to resources within your application.", }, { title: "Plugin Ecosystem", description: "Enhance your application with our official plugins and those created by the community.", }, ]; export const Grid = ({ pattern, size, }: { pattern?: number[][]; size?: number; }) => { const p = pattern ?? [ [Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1], [Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1], [Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1], [Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1], [Math.floor(Math.random() * 4) + 7, Math.floor(Math.random() * 6) + 1], ]; return (
); }; export function GridPattern({ width, height, x, y, squares, ...props }: any) { const patternId = useId(); return ( ); }