blob: a8a14077f202f9f06230568ae540258ef5c9bf2a [file] [log] [blame]
idillon169f64f2022-09-16 14:01:22 -04001'use strict'
2import './index.scss'
3import React from 'react'
4import { createRoot } from 'react-dom/client';
5import App from './App.js'
idillond858c182022-09-16 13:18:26 -04006import { store } from "../redux/store";
7import { Provider } from "react-redux";
idillon5e897432022-09-16 13:28:09 -04008import { BrowserRouter as Router } from "react-router-dom";
idillon5815c732022-09-16 13:54:45 -04009import './i18n';
Larbi Gharibe9af9732021-03-31 15:08:01 +010010
idillon8e6c0062022-09-16 13:34:43 -040011// import config from "../sentry-client.config.json"
idillon5e897432022-09-16 13:28:09 -040012import * as Sentry from "@sentry/react";
13import { BrowserTracing } from "@sentry/tracing";
idillon08f77172022-09-13 19:14:17 -040014import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
idillon322e4ac2022-09-14 12:48:43 -040015import socketio from 'socket.io-client';
16import { SocketProvider } from './contexts/socket.js';
idillon08f77172022-09-13 19:14:17 -040017
18const queryClient = new QueryClient({
19 defaultOptions: {
20 queries: {
21 cacheTime: Infinity, // websocket is responsible to tell when data needs to be updated
22 },
23 },
24})
idillon5e897432022-09-16 13:28:09 -040025
idillon322e4ac2022-09-14 12:48:43 -040026const socket = socketio()
27
idillon169f64f2022-09-16 14:01:22 -040028const container = document.getElementById("root");
29const root = createRoot(container);
30root.render(
31 <Provider store={store}>
32 <React.StrictMode>
idillon08f77172022-09-13 19:14:17 -040033 <QueryClientProvider client={queryClient}>
idillon322e4ac2022-09-14 12:48:43 -040034 <SocketProvider socket={socket}>
35 <Router>
36 <App/>
37 </Router>
38 </SocketProvider>
idillon08f77172022-09-13 19:14:17 -040039 </QueryClientProvider>
idillon169f64f2022-09-16 14:01:22 -040040 </React.StrictMode>
41 </Provider>
42);
Adrien BĂ©raude74741b2021-04-19 13:22:54 -040043
idillond858c182022-09-16 13:18:26 -040044if (import.meta.webpackHot)
45 import.meta.webpackHot.accept("./App", () => {
46 try {
47 render(App);
48 } catch (e) {
49 location.reload();
50 }
51 });