import {Router, RouterContext} from 'react-router'; import {createBrowserRouter, RouterProvider} from 'react-router-dom'; import {wrapCreateBrowserRouter} from '@sentry/react'; import {ReactQueryDevtools} from '@tanstack/react-query-devtools'; import DemoHeader from 'sentry/components/demo/demoHeader'; import {OnboardingContextProvider} from 'sentry/components/onboarding/onboardingContext'; import {ThemeAndStyleProvider} from 'sentry/components/themeAndStyleProvider'; import {USE_REACT_QUERY_DEVTOOL} from 'sentry/constants'; import {routes, routes6} from 'sentry/routes'; import ConfigStore from 'sentry/stores/configStore'; import { browserHistory, DANGEROUS_SET_REACT_ROUTER_6_HISTORY, } from 'sentry/utils/browserHistory'; import { DEFAULT_QUERY_CLIENT_CONFIG, QueryClient, QueryClientProvider, } from 'sentry/utils/queryClient'; import {RouteContext} from 'sentry/views/routeContext'; /** * Renders our compatibility RouteContext.Provider. This will go away with * react-router v6. */ function renderRouter(props: any) { return ( ); } const queryClient = new QueryClient(DEFAULT_QUERY_CLIENT_CONFIG); const sentryCreateBrowserRouter = wrapCreateBrowserRouter(createBrowserRouter); const router = sentryCreateBrowserRouter(routes6); if (window.__SENTRY_USING_REACT_ROUTER_SIX) { DANGEROUS_SET_REACT_ROUTER_6_HISTORY(router); } function Main() { return ( {ConfigStore.get('demoMode') && } {window.__SENTRY_USING_REACT_ROUTER_SIX ? ( ) : ( {routes()} )} {USE_REACT_QUERY_DEVTOOL && ( )} ); } export default Main;