- Updated `.env.example` to include new settings for trusted proxies and networks for better security with X-Forwarded headers. - Modified `BlockUserCommandHandler` and `UnblockUserCommandHandler` to include logging for gateway update failures, ensuring better traceability of issues during user blocking/unblocking. - Adjusted tests for command handlers to incorporate logging functionality, improving test coverage and reliability. - Updated frontend configuration to dynamically set the server port based on environment variables.
33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
import { StrictMode } from 'react'
|
|
import { createRoot } from 'react-dom/client'
|
|
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
|
import { RouterProvider } from '@tanstack/react-router'
|
|
import './index.css'
|
|
import './shared/lib/i18n'
|
|
import { ThemeProvider } from './theme/ThemeProvider'
|
|
import { ToastProvider } from './shared/ui/toast-store'
|
|
import { RealtimeProvider } from './shared/realtime/RealtimeProvider'
|
|
import { router } from './router'
|
|
import { setUnauthorizedHandler } from './shared/api/client'
|
|
import { clearSession } from './features/auth/api'
|
|
|
|
// Если refresh-токен недействителен (истёк/отозван) — очищаем стор авторизации, чтобы
|
|
// useRequireAuth/useRequireAdmin увидели user === null и сами увели на /login.
|
|
setUnauthorizedHandler(clearSession)
|
|
|
|
const queryClient = new QueryClient()
|
|
|
|
createRoot(document.getElementById('root')!).render(
|
|
<StrictMode>
|
|
<QueryClientProvider client={queryClient}>
|
|
<ThemeProvider>
|
|
<ToastProvider>
|
|
<RealtimeProvider>
|
|
<RouterProvider router={router} />
|
|
</RealtimeProvider>
|
|
</ToastProvider>
|
|
</ThemeProvider>
|
|
</QueryClientProvider>
|
|
</StrictMode>,
|
|
)
|