все к лучшему
This commit is contained in:
@@ -1,8 +1,13 @@
|
||||
import { FC } from 'react'
|
||||
import { FC, useEffect } from 'react'
|
||||
|
||||
import { Navigate, Route, Routes } from 'react-router-dom'
|
||||
|
||||
import { TemplateProvider } from '@/entitiy/template/model/TemplateContext'
|
||||
import {
|
||||
setGlobalToastContext,
|
||||
ToastProvider,
|
||||
useToast,
|
||||
} from '@/lib/hooks/useToast'
|
||||
import { ElementsCreation } from '@/page/ElementsCreation'
|
||||
import { ProtocolCreation } from '@/page/ProtocolCreation'
|
||||
import { TemplateEditPage } from '@/page/TemplateEditPage'
|
||||
@@ -11,29 +16,44 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
||||
import { Layout } from './Layout'
|
||||
|
||||
const queryClient = new QueryClient()
|
||||
|
||||
// Компонент для инициализации глобального контекста toast
|
||||
const ToastInitializer: FC = () => {
|
||||
const toast = useToast()
|
||||
|
||||
useEffect(() => {
|
||||
setGlobalToastContext(toast)
|
||||
}, [toast])
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
const App: FC = () => {
|
||||
return (
|
||||
<QueryClientProvider client={queryClient}>
|
||||
<TemplateProvider>
|
||||
<Routes>
|
||||
<Route path="/" element={<Layout />}>
|
||||
<Route index element={<Navigate to="/templates" replace />} />
|
||||
<Route path="templates/" element={<TemplatesOverviewPage />} />
|
||||
<Route
|
||||
path="templates/:templateId/edit"
|
||||
element={<TemplateEditPage />}
|
||||
/>
|
||||
<Route
|
||||
path="templates/:templateId/elements"
|
||||
element={<ElementsCreation />}
|
||||
/>
|
||||
<Route
|
||||
path="templates/:templateId/protocols"
|
||||
element={<ProtocolCreation />}
|
||||
/>
|
||||
</Route>
|
||||
</Routes>
|
||||
</TemplateProvider>
|
||||
<ToastProvider>
|
||||
<ToastInitializer />
|
||||
<TemplateProvider>
|
||||
<Routes>
|
||||
<Route path="/" element={<Layout />}>
|
||||
<Route index element={<Navigate to="/templates" replace />} />
|
||||
<Route path="templates/" element={<TemplatesOverviewPage />} />
|
||||
<Route
|
||||
path="templates/:templateId/edit"
|
||||
element={<TemplateEditPage />}
|
||||
/>
|
||||
<Route
|
||||
path="templates/:templateId/elements"
|
||||
element={<ElementsCreation />}
|
||||
/>
|
||||
<Route
|
||||
path="templates/:templateId/protocols"
|
||||
element={<ProtocolCreation />}
|
||||
/>
|
||||
</Route>
|
||||
</Routes>
|
||||
</TemplateProvider>
|
||||
</ToastProvider>
|
||||
</QueryClientProvider>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user