Files
mdm-ordinis/ordinis-admin-ui/src/main.tsx
T
2026-05-11 09:11:21 +00:00

48 lines
1.5 KiB
TypeScript

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { RouterProvider, createRouter } from '@tanstack/react-router'
import { NStartUiProvider, DatePickerProvider, DATE_PICKER_LOCALE_RU, Toaster } from '@/ui'
import { AuthProvider } from 'react-oidc-context'
import { routeTree } from './routeTree.gen'
import { oidcAuthConfig } from '@/auth/oidcConfig'
import { TokenSync } from '@/auth/TokenSync'
import { RequireAuth } from '@/auth/RequireAuth'
import { ThemeProvider } from '@/stores/ThemeProvider'
import './i18n'
import './styles.css'
const queryClient = new QueryClient({
defaultOptions: {
queries: { staleTime: 30_000, retry: 1 },
},
})
const router = createRouter({ routeTree, context: { queryClient } })
declare module '@tanstack/react-router' {
interface Register {
router: typeof router
}
}
createRoot(document.getElementById('root')!).render(
<StrictMode>
<AuthProvider {...oidcAuthConfig}>
<TokenSync />
<ThemeProvider>
<NStartUiProvider>
<RequireAuth>
<QueryClientProvider client={queryClient}>
<DatePickerProvider datePicker={DATE_PICKER_LOCALE_RU}>
<RouterProvider router={router} />
<Toaster />
</DatePickerProvider>
</QueryClientProvider>
</RequireAuth>
</NStartUiProvider>
</ThemeProvider>
</AuthProvider>
</StrictMode>,
)