import { CircleHelp, Key, 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; list: { title: string; href: string; icon: ((props?: SVGProps) => ReactNode) | LucideIcon; group?: 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: "Microsoft", href: "/docs/authentication/microsoft", icon: () => ( ), }, { title: "Twitch", href: "/docs/authentication/twitch", icon: () => ( ), }, { title: "Twitter (X)", href: "/docs/authentication/twitter", icon: () => ( ), }, { title: "Dropbox", href: "/docs/authentication/dropbox", icon: () => ( ), }, { title: "LinkedIn", href: "/docs/authentication/linkedin", icon: () => ( ), }, { title: "GitLab", href: "/docs/authentication/gitlab", icon: () => ( ), }, { title: "Reddit", href: "/docs/authentication/reddit", 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: "Svelte Kit", icon: Icons.svelteKit, href: "/docs/integrations/svelte-kit", }, { title: "Solid Start", 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: "Node", icon: Icons.node, href: "/docs/integrations/node", }, { 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: "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: "Multi Session", icon: () => ( ), href: "/docs/plugins/multi-session", }, { title: "OAuth Proxy", href: "/docs/plugins/oauth-proxy", icon: () => ( ), }, { title: "Open API", href: "/docs/plugins/open-api", icon: () => ( ), }, { title: "JWT", icon: () => ( ), href: "/docs/plugins/jwt", }, { title: "Other", group: true, href: "/docs/plugins/1st-party-plugins", 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: "Create Your First Plugin", href: "/docs/guides/your-first-plugin", icon: () => ( ), }, { title: "Browser Extension Guide", href: "/docs/guides/browser-extension-guide", icon: () => ( ), }, ], }, { title: "Reference", Icon: () => ( ), list: [ { title: "Options", href: "/docs/reference/options", icon: () => ( ), }, { title: "Security", href: "/docs/reference/security", icon: () => , }, { title: "FAQ", href: "/docs/reference/faq", 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: "Svelte Kit", href: "/docs/examples/svelte-kit", icon: Icons.svelteKit, }, ], }, ];