sozsoft-platform/ui/src/App.tsx

48 lines
1.4 KiB
TypeScript
Raw Normal View History

2026-02-24 20:44:16 +00:00
import Layout from '@/components/layouts'
import Theme from '@/components/template/Theme'
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
import { StoreProvider } from 'easy-peasy'
import { BrowserRouter } from 'react-router-dom'
import { store } from './store'
import { DynamicRoutesProvider } from './routes/dynamicRoutesContext'
import { ComponentProvider } from './contexts/ComponentContext'
2026-07-13 12:28:23 +00:00
import { registerServiceWorker } from './views/version/swRegistration'
2026-02-24 20:44:16 +00:00
import { useEffect } from 'react'
2026-07-13 08:39:13 +00:00
import DevExtremeBoundary from './components/devExtreme/DevExtremeBoundary'
2026-02-24 20:44:16 +00:00
2026-07-11 20:35:32 +00:00
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 30_000,
refetchOnWindowFocus: false,
},
},
})
2026-02-24 20:44:16 +00:00
function App() {
useEffect(() => {
2026-07-13 12:28:23 +00:00
registerServiceWorker()
2026-02-24 20:44:16 +00:00
}, [])
return (
<StoreProvider store={store}>
{/* v7_startTransition / v7_relativeSplatPath react-router v7'de varsayılan davranış. */}
<BrowserRouter>
2026-02-24 20:44:16 +00:00
<DynamicRoutesProvider>
<ComponentProvider>
<QueryClientProvider client={queryClient}>
2026-07-13 08:39:13 +00:00
<DevExtremeBoundary>
<Theme>
<Layout />
</Theme>
</DevExtremeBoundary>
2026-02-24 20:44:16 +00:00
</QueryClientProvider>
</ComponentProvider>
</DynamicRoutesProvider>
</BrowserRouter>
</StoreProvider>
)
}
export default App