import "core-js/stable"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { createRoot } from "react-dom/client"; import { BrowserRouter } from "react-router-dom"; import "@dndbeyond/ttui/styles/palette.css"; import "@dndbeyond/ttui/styles/typography.css"; import wayOfLight from "@dndbeyond/ttui/themes/wayOfLight"; import { Layout } from "./components/Layout"; import config from "./config"; import { AuthProvider, useAuth } from "./contexts/Authentication"; import { FeatureFlagProvider, useFeatureFlags } from "./contexts/FeatureFlag"; import { FiltersProvider } from "./contexts/Filters"; import { HeadContextProvider } from "./contexts/Head"; import { ThemeManagerProvider } from "./contexts/ThemeManager"; import { reportWebVitals } from "./helpers/reportWebVitals"; import { useDatadogRum } from "./hooks/useDatadogRum"; import { Routes } from "./routes"; import "./styles/global.css"; import "./styles/index.scss"; import "./styles/reset.css"; import "./styles/variables.css"; import "./styles/waterdeep-stat-blocks.css"; const queryClient = new QueryClient({ defaultOptions: { queries: { staleTime: 60 * 60 * 1000 } }, }); const DatadogGate = () => { const { datadogRumCharactersAppFlag } = useFeatureFlags(); return datadogRumCharactersAppFlag ? : null; }; const DatadogBootstrap = () => { const user = useAuth(); useDatadogRum(user ?? null); return null; }; const environment = config.environment; const App = () => ( <> {environment !== "development" && } ); const root = createRoot(document.getElementById("character-tools-target")!); root.render(); // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals reportWebVitals();