import { Book, CircleHelp, Database, Gauge, Key, KeyRound, LucideAArrowDown, LucideIcon, Mail, Mailbox, Phone, ScanFace, ShieldCheck, UserCircle, Users2, UserSquare2, } from "lucide-react"; import { ReactNode, SVGProps } from "react"; import { Icons } from "./icons"; interface Content { title: string; href?: string; Icon: ((props?: SVGProps) => ReactNode) | LucideIcon; isNew?: boolean; list: { title: string; href: string; icon: ((props?: SVGProps) => ReactNode) | LucideIcon; group?: boolean; isNew?: boolean; }[]; } export const contents: Content[] = [ { title: "Get Started", Icon: () => ( ), list: [ { title: "Introduction", href: "/docs/introduction", icon: () => ( ), }, { title: "Comparison", href: "/docs/comparison", icon: () => ( ), }, { title: "Installation", href: "/docs/installation", icon: () => ( ), }, { title: "Basic Usage", href: "/docs/basic-usage", icon: () => ( ), }, ], }, { title: "Concepts", list: [ { href: "/docs/concepts/api", title: "API", icon: () => ( ), }, { title: "CLI", icon: () => ( ), href: "/docs/concepts/cli", }, { title: "Client", href: "/docs/concepts/client", icon: () => ( ), }, { title: "Cookies", href: "/docs/concepts/cookies", icon: () => ( ), }, { title: "Database", icon: (props?: SVGProps) => ( ), href: "/docs/concepts/database", }, { href: "/docs/concepts/email", title: "Email", icon: (props?: SVGProps) => ( ), }, { href: "/docs/concepts/hooks", title: "Hooks", icon: (props?: SVGProps) => ( ), }, { href: "/docs/concepts/plugins", title: "Plugins", icon: (props?: SVGProps) => ( ), }, { title: "OAuth", href: "/docs/concepts/oauth", icon: (props?: SVGProps) => ( ), }, { title: "Rate Limit", icon: () => { return ( ); }, href: "/docs/concepts/rate-limit", }, { title: "Sessions", href: "/docs/concepts/session-management", icon: () => ( ), }, { title: "TypeScript", href: "/docs/concepts/typescript", icon: () => ( ), }, { title: "Users & Accounts", href: "/docs/concepts/users-accounts", icon: () => ( ), }, ], Icon: () => ( ), }, { title: "Authentication", Icon: () => ( ), list: [ { title: "Email & Password", href: "/docs/authentication/email-password", icon: () => ( ), }, { title: "Social Sign-On", group: true, icon: LucideAArrowDown, href: "/", }, { title: "Apple", href: "/docs/authentication/apple", icon: () => ( ), }, { title: "Discord", href: "/docs/authentication/discord", icon: () => ( ), }, { title: "Facebook", href: "/docs/authentication/facebook", icon: () => ( ), }, { title: "GitHub", href: "/docs/authentication/github", icon: () => ( ), }, { title: "Google", href: "/docs/authentication/google", icon: () => ( ), }, { title: "Hugging Face", href: "/docs/authentication/huggingface", icon: () => ( ), }, { title: "Kick", href: "/docs/authentication/kick", icon: () => ( ), }, { title: "Microsoft", href: "/docs/authentication/microsoft", icon: () => ( ), }, { title: "Notion", href: "/docs/authentication/notion", isNew: true, icon: () => ( ), }, { title: "Tiktok", href: "/docs/authentication/tiktok", icon: () => ( ), }, { title: "Twitch", href: "/docs/authentication/twitch", icon: () => ( ), }, { title: "Twitter (X)", href: "/docs/authentication/twitter", icon: () => ( ), }, { title: "Dropbox", href: "/docs/authentication/dropbox", icon: () => ( ), }, { title: "Linear", href: "/docs/authentication/linear", icon: () => ( ), }, { title: "LinkedIn", href: "/docs/authentication/linkedin", icon: () => ( ), }, { title: "GitLab", href: "/docs/authentication/gitlab", icon: () => ( ), }, { title: "Reddit", href: "/docs/authentication/reddit", icon: () => ( ), }, { title: "Roblox", href: "/docs/authentication/roblox", isNew: true, icon: () => ( ), }, { title: "Spotify", href: "/docs/authentication/spotify", icon: () => ( ), }, { title: "VK", href: "/docs/authentication/vk", icon: () => ( ), }, { title: "Zoom", isNew: true, href: "/docs/authentication/zoom", icon: (props?: SVGProps) => ( ), }, { title: "Others", group: true, icon: () => null, href: "/docs/authentication/others", }, { title: "Other Social Providers", href: "/docs/authentication/other-social-providers", icon: () => ( ), }, ], }, { title: "Databases", Icon: () => ( ), list: [ { title: "MySQL", href: "/docs/adapters/mysql", icon: () => ( ), }, { title: "SQLite", href: "/docs/adapters/sqlite", icon: () => ( ), }, { title: "PostgreSQL", href: "/docs/adapters/postgresql", icon: () => ( ), }, { title: "MS SQL", href: "/docs/adapters/mssql", icon: () => ( ), }, { title: "Other Relational Databases", href: "/docs/adapters/other-relational-databases", icon: () => , }, { group: true, title: "Adapters", href: "/docs/adapters/drizzle", icon: () => , }, { title: "Drizzle", href: "/docs/adapters/drizzle", icon: () => ( ), }, { title: "Prisma", href: "/docs/adapters/prisma", icon: () => ( ), }, { title: "MongoDB", href: "/docs/adapters/mongo", icon: () => ( ), }, { group: true, title: "Others", href: "/docs/adapters/community-adapters", icon: () => , }, { title: "Community Adapters", href: "/docs/adapters/community-adapters", icon: () => ( ), }, ], }, { title: "Integrations", Icon: () => ( ), list: [ { group: true, title: "Full Stack", href: "/docs/integrations", icon: LucideAArrowDown, }, { title: "Astro", icon: Icons.astro, href: "/docs/integrations/astro", }, { title: "Remix", icon: Icons.remix, href: "/docs/integrations/remix", }, { title: "Next", icon: Icons.nextJS, href: "/docs/integrations/next", }, { title: "Nuxt", icon: Icons.nuxt, href: "/docs/integrations/nuxt", }, { title: "SvelteKit", icon: Icons.svelteKit, href: "/docs/integrations/svelte-kit", }, { title: "SolidStart", icon: Icons.solidStart, href: "/docs/integrations/solid-start", }, { title: "TanStack Start", icon: Icons.tanstack, href: "/docs/integrations/tanstack", }, { group: true, title: "Backend", href: "/docs/integrations", icon: LucideAArrowDown, }, { title: "Hono", icon: Icons.hono, href: "/docs/integrations/hono", }, { title: "Fastify", icon: Icons.fastify, href: "/docs/integrations/fastify", }, { title: "Express", icon: Icons.express, href: "/docs/integrations/express", }, { title: "Elysia", icon: Icons.elysia, href: "/docs/integrations/elysia", }, { title: "Nitro", icon: Icons.nitro, href: "/docs/integrations/nitro", }, { group: true, title: "Mobile & Desktop", href: "/docs/integrations", icon: LucideAArrowDown, }, { title: "Expo", icon: Icons.expo, href: "/docs/integrations/expo", }, ], }, { title: "Plugins", Icon: () => ( ), list: [ { title: "Authentication", group: true, href: "/docs/plugins/1st-party-plugins", icon: () => , }, { title: "Two Factor", icon: () => , href: "/docs/plugins/2fa", }, { title: "Username", icon: () => , href: "/docs/plugins/username", }, { title: "Anonymous", icon: () => , href: "/docs/plugins/anonymous", }, { title: "Phone Number", icon: () => , href: "/docs/plugins/phone-number", }, { title: "Magic Link", href: "/docs/plugins/magic-link", icon: () => , }, { title: "Email OTP", href: "/docs/plugins/email-otp", icon: () => , }, { title: "Passkey", href: "/docs/plugins/passkey", icon: () => ( ), }, { title: "Generic OAuth", href: "/docs/plugins/generic-oauth", icon: () => ( ), }, { title: "One Tap", href: "/docs/plugins/one-tap", icon: () => ( ), }, { title: "Authorization", group: true, href: "/docs/plugins/1st-party-plugins", icon: () => , }, { title: "Admin", href: "/docs/plugins/admin", icon: () => ( ), }, { title: "API Key", href: "/docs/plugins/api-key", icon: () => , }, { title: "MCP", icon: () => ( ), href: "/docs/plugins/mcp", }, { title: "Organization", icon: () => , href: "/docs/plugins/organization", }, { title: "Enterprise", group: true, href: "/docs/plugins/1st-party-plugins", icon: () => , }, { title: "OIDC Provider", href: "/docs/plugins/oidc-provider", icon: () => ( ), }, { title: "SSO", icon: () => ( ), href: "/docs/plugins/sso", }, { title: "Utility", group: true, href: "/docs/plugins/1st-party-plugins", icon: () => , }, { title: "Bearer", icon: () => , href: "/docs/plugins/bearer", }, { title: "Captcha", href: "/docs/plugins/captcha", icon: () => ( ), }, { title: "Have I Been Pwned", href: "/docs/plugins/have-i-been-pwned", isNew: true, icon: () =>

';--

, }, { title: "Multi Session", icon: () => ( ), href: "/docs/plugins/multi-session", }, { title: "OAuth Proxy", href: "/docs/plugins/oauth-proxy", icon: () => ( ), }, { title: "One-Time Token", href: "/docs/plugins/one-time-token", isNew: true, icon: () => ( ), }, { title: "Open API", href: "/docs/plugins/open-api", icon: () => ( ), }, { title: "JWT", icon: () => ( ), href: "/docs/plugins/jwt", }, { title: "3rd party", group: true, href: "/docs/plugins/1st-party-plugins", icon: () => , }, { title: "Stripe", href: "/docs/plugins/stripe", icon: () => ( ), }, { title: "Polar", href: "/docs/plugins/polar", icon: () => ( ), }, { title: "Dub", href: "/docs/plugins/dub", isNew: true, icon: () => ( ), }, { title: "Community Plugins", href: "/docs/plugins/community-plugins", icon: () => ( ), }, ], }, { title: "Guides", href: "/docs/guides", Icon: () => ( ), list: [ { title: "Next Auth Migration Guide", href: "/docs/guides/next-auth-migration-guide", icon: () => ( ), }, { title: "Supabase Migration Guide", href: "/docs/guides/supabase-migration-guide", icon: () => ( ), }, { title: "Clerk Migration Guide", href: "/docs/guides/clerk-migration-guide", icon: () => ( ), }, { title: "Create Your First Plugin", href: "/docs/guides/your-first-plugin", icon: () => ( ), }, { title: "Create a Database Adapter", href: "/docs/guides/create-a-db-adapter", icon: () => , }, { title: "Browser Extension Guide", href: "/docs/guides/browser-extension-guide", icon: () => ( ), }, { title: "Optimize for Performance", href: "/docs/guides/optimizing-for-performance", icon: () => , }, ], }, { title: "Reference", Icon: () => ( ), list: [ { title: "Options", href: "/docs/reference/options", icon: () => ( ), }, { title: "Contributing", href: "/docs/reference/contributing", icon: () => ( ), }, { title: "Resources", href: "/docs/reference/resources", icon: () => , }, { title: "Security", href: "/docs/reference/security", icon: () => , }, { title: "FAQ", href: "/docs/reference/faq", icon: () => , }, ], }, // { // title: "Contribute", // Icon: () => ( // // ), // list: [ // { // title: "Getting Started", // href: "/docs/contribute/getting-started", // icon: () => , // }, // { // title: "Areas to Contribute", // href: "/docs/contribute/areas-to-contribute", // icon: () => , // }, // // { // // title: "Database Adapters", // // href: "/docs/contribute/database-adapters", // // icon: () => , // // }, // { // title: "Testing", // href: "/docs/contribute/testing", // icon: () => , // }, // { // title: "Documenting", // href: "/docs/contribute/documenting", // icon: () => , // }, // { // title: "Security Issues", // href: "/docs/contribute/security-issues", // icon: () => , // }, // ], // }, ]; export const examples: Content[] = [ { title: "Examples", href: "/docs/examples/next", Icon: () => ( ), list: [ { title: "Astro + SolidJs", href: "/docs/examples/astro", icon: Icons.astro, }, { title: "Remix", href: "/docs/examples/remix", icon: Icons.remix, }, { title: "Next.js", href: "/docs/examples/next-js", icon: Icons.nextJS, }, { title: "Nuxt", href: "/docs/examples/nuxt", icon: Icons.nuxt, }, { title: "SvelteKit", href: "/docs/examples/svelte-kit", icon: Icons.svelteKit, }, ], }, ];