Skip to content
Snippets Groups Projects
main.tsx 1.25 KiB
import React from 'react';
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import { Provider } from 'react-redux';
import * as Sentry from '@sentry/react';
import { store } from '@graphpolaris/shared/lib/data-access/store';
import App from './app/App';
import { createRoot } from 'react-dom/client';
import './main.css';
import { ErrorBoundary } from '@graphpolaris/shared/lib/components/errorBoundary';

if (import.meta.env.SENTRY_ENABLED) {
  Sentry.init({
    dsn: import.meta.env.SENTRY_URL,
    integrations: [Sentry.browserTracingIntegration(), Sentry.replayIntegration()],
    tracesSampleRate: 1.0,
    replaysSessionSampleRate: 0.1,
    replaysOnErrorSampleRate: 1.0,
  });
}

(window as any).global = window;
const domNode = document.getElementById('root');

if (domNode) {
  const root = createRoot(domNode);
  root.render(
    <Provider store={store}>
      <Router>
        <ErrorBoundary fallback={<div>Oops! Something went wrong. Please try again.</div>}>
          <Routes>
            <Route path="/" element={<App load={undefined} />}></Route>
            <Route path="/fraud" element={<App load="5bdf3354-673f-4dec-b6a0-196e67cd211c" />}></Route>
          </Routes>
        </ErrorBoundary>
      </Router>
    </Provider>,
  );
}