All checks were successful
Build and Push Docker Image / build (push) Successful in 55s
42 lines
1.2 KiB
TypeScript
42 lines
1.2 KiB
TypeScript
import { ThemeProvider } from '@boring.tools/ui'
|
|
import { ClerkProvider } from '@clerk/clerk-react'
|
|
import { RouterProvider, createRouter } from '@tanstack/react-router'
|
|
import { StrictMode } from 'react'
|
|
import ReactDOM from 'react-dom/client'
|
|
import './base.css'
|
|
|
|
// Import the generated route tree
|
|
import { routeTree } from './routeTree.gen'
|
|
|
|
// Create a new router instance
|
|
const router = createRouter({ routeTree })
|
|
|
|
// Register the router instance for type safety
|
|
declare module '@tanstack/react-router' {
|
|
interface Register {
|
|
router: typeof router
|
|
}
|
|
}
|
|
|
|
const PUBLISHABLE_KEY = import.meta.env.VITE_CLERK_PUBLISHABLE_KEY
|
|
|
|
if (!PUBLISHABLE_KEY) {
|
|
throw new Error('Missing Publishable Key')
|
|
}
|
|
|
|
// Render the app
|
|
// biome-ignore lint/style/noNonNullAssertion: <explanation>
|
|
const rootElement = document.getElementById('root')!
|
|
if (!rootElement.innerHTML) {
|
|
const root = ReactDOM.createRoot(rootElement)
|
|
root.render(
|
|
<StrictMode>
|
|
<ClerkProvider publishableKey={PUBLISHABLE_KEY}>
|
|
<ThemeProvider defaultTheme="dark" storageKey="ui-theme">
|
|
<RouterProvider router={router} />
|
|
</ThemeProvider>
|
|
</ClerkProvider>
|
|
</StrictMode>,
|
|
)
|
|
}
|