File: start-convex-better-auth.md | Updated: 11/15/2025
Search...
+ K
Auto
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide
Documentation
Framework
Solid
Version
Latest
Search...
+ K
Menu
Getting Started
Guides
Examples
Framework
Solid
Version
Latest
Menu
Getting Started
Guides
Examples
Solid Example: Start Convex Better Auth
=================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
Code ExplorerCode
Interactive SandboxSandbox
convex
public
src
components
library
providers
routes
_authed
api
__root.tsx
_authed.tsx
about.tsx
index.tsx
styles
routeTree.gen.ts
router.tsx
.env.example
.gitignore
README.md
package.json
tsconfig.json
vite.config.ts
tsx
/// <reference types="vite/client" />
import { HeadContent, Scripts, createRootRoute } from '@tanstack/solid-router'
import { HydrationScript, Suspense } from 'solid-js/web'
import { TanStackRouterDevtools } from '@tanstack/solid-router-devtools'
import type * as Solid from 'solid-js'
import appCss from '~/styles/app.css?url'
import AppConvexProvider from '~/providers/convex'
import { fetchAuth } from '~/library/server'
export const Route = createRootRoute({
head: () => ({
links: [{ rel: 'stylesheet', href: appCss }],
}),
beforeLoad: async () => {
const { session, token } = await fetchAuth()
return { session, token }
},
shellComponent: RootDocument,
})
function RootDocument(props: { children: Solid.JSX.Element }) {
return (
<html>
<head>
<HydrationScript />
</head>
<body>
<HeadContent />
<Suspense>
<AppConvexProvider>{props.children}</AppConvexProvider>
</Suspense>
<TanStackRouterDevtools position="bottom-right" />
<Scripts />
</body>
</html>
)
}
/// <reference types="vite/client" />
import { HeadContent, Scripts, createRootRoute } from '@tanstack/solid-router'
import { HydrationScript, Suspense } from 'solid-js/web'
import { TanStackRouterDevtools } from '@tanstack/solid-router-devtools'
import type * as Solid from 'solid-js'
import appCss from '~/styles/app.css?url'
import AppConvexProvider from '~/providers/convex'
import { fetchAuth } from '~/library/server'
export const Route = createRootRoute({
head: () => ({
links: [{ rel: 'stylesheet', href: appCss }],
}),
beforeLoad: async () => {
const { session, token } = await fetchAuth()
return { session, token }
},
shellComponent: RootDocument,
})
function RootDocument(props: { children: Solid.JSX.Element }) {
return (
<html>
<head>
<HydrationScript />
</head>
<body>
<HeadContent />
<Suspense>
<AppConvexProvider>{props.children}</AppConvexProvider>
</Suspense>
<TanStackRouterDevtools position="bottom-right" />
<Scripts />
</body>
</html>
)
}
