Files
Scriberr/web/frontend/src/main.tsx
Paul Irish a378335ebd refactor(frontend): extract auth logic to helpers and interceptor
needed because I was adding a new SpeakerSettings component but
the useAuth hook triggered an infinite recusion bug because of the
window.fetch wrappings.
2026-03-22 12:10:24 -07:00

44 lines
1.5 KiB
TypeScript

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import './index.css'
import 'katex/dist/katex.min.css'
import 'highlight.js/styles/github-dark-dimmed.css'
import './App.css'
import App from './App.tsx'
import { ThemeProvider } from './contexts/ThemeContext'
import { BrowserRouter } from 'react-router-dom'
import { ProtectedRoute } from './components/ProtectedRoute'
import { TooltipProvider } from '@/components/ui/tooltip'
import { ToastProvider } from '@/components/ui/toast'
import { ChatEventsProvider } from './contexts/ChatEventsContext'
import { GlobalUploadProvider } from './contexts/GlobalUploadContext'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { setupAuthInterceptor } from './lib/authInterceptor'
// Initialize the global fetch interceptor for auth
setupAuthInterceptor();
const queryClient = new QueryClient()
createRoot(document.getElementById('root')!).render(
<StrictMode>
<QueryClientProvider client={queryClient}>
<ThemeProvider>
<BrowserRouter>
<TooltipProvider>
<ToastProvider>
<ChatEventsProvider>
<ProtectedRoute>
<GlobalUploadProvider>
<App />
</GlobalUploadProvider>
</ProtectedRoute>
</ChatEventsProvider>
</ToastProvider>
</TooltipProvider>
</BrowserRouter>
</ThemeProvider>
</QueryClientProvider>
</StrictMode>,
)