mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-09-29 22:34:33 +00:00
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import {browserHistory, Router, RouterContext} from 'react-router';
|
|
|
|
import DemoHeader from 'sentry/components/demo/demoHeader';
|
|
import {OnboardingContextProvider} from 'sentry/components/onboarding/onboardingContext';
|
|
import {ThemeAndStyleProvider} from 'sentry/components/themeAndStyleProvider';
|
|
import {routes} from 'sentry/routes';
|
|
import ConfigStore from 'sentry/stores/configStore';
|
|
import {
|
|
DEFAULT_QUERY_CLIENT_CONFIG,
|
|
QueryClient,
|
|
QueryClientProvider,
|
|
} from 'sentry/utils/queryClient';
|
|
import {RouteContext} from 'sentry/views/routeContext';
|
|
|
|
import RouteAnalyticsContextProvider from './views/routeAnalyticsContextProvider';
|
|
/**
|
|
* Renders our compatibility RouteContext.Provider. This will go away with
|
|
* react-router v6.
|
|
*/
|
|
function renderRouter(props: any) {
|
|
return (
|
|
<RouteAnalyticsContextProvider {...props}>
|
|
<RouteContext.Provider value={props}>
|
|
<RouterContext {...props} />
|
|
</RouteContext.Provider>
|
|
</RouteAnalyticsContextProvider>
|
|
);
|
|
}
|
|
|
|
const queryClient = new QueryClient(DEFAULT_QUERY_CLIENT_CONFIG);
|
|
|
|
function Main() {
|
|
return (
|
|
<ThemeAndStyleProvider>
|
|
<QueryClientProvider client={queryClient}>
|
|
<OnboardingContextProvider>
|
|
{ConfigStore.get('demoMode') && <DemoHeader />}
|
|
<Router history={browserHistory} render={renderRouter}>
|
|
{routes()}
|
|
</Router>
|
|
</OnboardingContextProvider>
|
|
</QueryClientProvider>
|
|
</ThemeAndStyleProvider>
|
|
);
|
|
}
|
|
|
|
export default Main;
|