move BrowserRouter above AppProvider, wire onUnauthorized redirect to /login

This commit is contained in:
2026-07-19 01:04:42 +05:30
parent 804617ff27
commit 1a8f98d4a2

View File

@@ -82,38 +82,46 @@ const routerMapping = [
/** Reads authConfig from AppProvider context and passes it to AuthProvider. */ /** Reads authConfig from AppProvider context and passes it to AuthProvider. */
function AppContent() { function AppContent() {
const { authConfig } = useAppContext(); const { authConfig } = useAppContext();
const navigate = useNavigate();
return ( return (
<AuthProvider authConfig={authConfig}> <AuthProvider authConfig={authConfig}>
<BrowserRouter> <AppTheme>
<AppTheme> <CssBaseline enableColorScheme />
<CssBaseline enableColorScheme /> <Header routerMapping={routerMapping} />
<Header routerMapping={routerMapping} />
<Box sx={{ pb: 8 }}> <Box sx={{ pb: 8 }}>
<Toolbar /> <Toolbar />
<Routes> <Routes>
{routerMapping.map(({ path, component: Component }) => ( {routerMapping.map(({ path, component: Component }) => (
<Route <Route
key={path} key={path}
path={path} path={path}
element={<Component basePath={path.replace(/\/\*$/, "")} />} element={<Component basePath={path.replace(/\/\*$/, "")} />}
/> />
))} ))}
</Routes> </Routes>
</Box> </Box>
<Footer /> <Footer />
</AppTheme> </AppTheme>
</BrowserRouter>
</AuthProvider> </AuthProvider>
); );
} }
function AppWithAuth() {
const navigate = useNavigate();
return (
<AppProvider specConfiguration={specConfiguration} onUnauthorized={() => navigate("/login")}>
<AppContent />
</AppProvider>
);
}
root.render( root.render(
<QueryClientProvider client={queryClient}> <QueryClientProvider client={queryClient}>
<AppProvider specConfiguration={specConfiguration}> <BrowserRouter>
<AppContent /> <AppWithAuth />
</AppProvider> </BrowserRouter>
</QueryClientProvider> </QueryClientProvider>
); );