import { QueryClient } from '@tanstack/react-query'
import { createRouter, RouterProvider } from '@tanstack/react-router'
import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import { initI18n } from './i18n'
import { routeTree } from './routeTree.gen'
import './index.css'
// Initialize i18n
initI18n()
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 30000,
retry: 1,
},
mutations: {
onError: (error: Error) => {
console.error('Mutation failed:', error)
window.dispatchEvent(
new CustomEvent('oxios:mutation-error', {
detail: { message: error.message || 'Unknown error' },
}),
)
},
},
},
})
const router = createRouter({
routeTree,
context: { queryClient },
})
declare module '@tanstack/react-router' {
interface Register {
router: typeof router
}
}
const root = document.getElementById('root')
if (!root) throw new Error('Root element not found')
createRoot(root).render(
<StrictMode>
<RouterProvider router={router} />
</StrictMode>,
)