This commit is contained in:
Arthur Belleville 2025-07-17 08:45:03 +02:00
parent f3441e20f9
commit 4adddb295d
No known key found for this signature in database
3 changed files with 60 additions and 41 deletions

View file

@ -1,35 +1,52 @@
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import { LoginPage } from "./pages/login";
import { SignUpPage } from "./pages/signup";
import { ThemeProvider } from "./contexts/ThemeContext";
import {
BrowserRouter as Router,
Routes,
Route,
useLocation,
} from "react-router-dom";
import { LoginPage } from "@ui/pages/login";
import { SignUpPage } from "@ui/pages/signup";
import { ThemeProvider } from "@ui/contexts/ThemeContext";
import { twMerge } from "tailwind-merge";
import { ResetPasswordPage } from "./pages/reset-password";
import { LandingPage } from "./pages/landing";
import { PublicRoute } from "./components/PublicRoute";
import { TabloPage } from "./pages/tablo";
import { SessionProvider } from "./contexts/SessionContext";
import { OAuthSigninPage } from "./pages/oauth-signin";
import { NotFoundPage } from "./pages/NotFoundPage";
import { Layout } from "./components/Layout";
import { DevisPage } from "./pages/devis";
import { FacturesPage } from "./pages/factures";
import { PlanningPage } from "./pages/planning";
import { ChantiersPage } from "./pages/chantiers";
import { ChatPage } from "./pages/chat";
import { FeedbackPage } from "./pages/feedback";
import { SupportPage } from "./pages/support";
import { ResetPasswordPage } from "@ui/pages/reset-password";
import { LandingPage } from "@ui/pages/landing";
import { PublicRoute } from "@ui/components/PublicRoute";
import { TabloPage } from "@ui/pages/tablo";
import { SessionProvider } from "@ui/contexts/SessionContext";
import { OAuthSigninPage } from "@ui/pages/oauth-signin";
import { NotFoundPage } from "@ui/pages/NotFoundPage";
import { Layout } from "@ui/components/Layout";
import { DevisPage } from "@ui/pages/devis";
import { FacturesPage } from "@ui/pages/factures";
import { PlanningPage } from "@ui/pages/planning";
import { ChantiersPage } from "@ui/pages/chantiers";
import { ChatPage } from "@ui/pages/chat";
import { FeedbackPage } from "@ui/pages/feedback";
import { SupportPage } from "@ui/pages/support";
import { AllCommunityModule, ModuleRegistry } from "ag-grid-community";
import ChatProvider from "./providers/ChatProvider";
import { UserStoreProvider } from "./providers/UserStoreProvider";
import { ProtectedRoute } from "./components/ProtectedRoute";
import ChatProvider from "@ui/providers/ChatProvider";
import { UserStoreProvider } from "@ui/providers/UserStoreProvider";
import { ProtectedRoute } from "@ui/components/ProtectedRoute";
import { JoinPage } from "@ui/pages/join";
import { CreateEventModal } from "./components/CreateEventModal";
import { isProd } from "./utils/helpers";
import { CreateEventModal } from "@ui/components/CreateEventModal";
import { isProd } from "@ui/utils/helpers";
import { useEffect } from "react";
import { datadogRum } from "@datadog/browser-rum";
import { initRum } from "@ui/lib/rum";
// Register all Community features
ModuleRegistry.registerModules([AllCommunityModule]);
export const App = () => {
const location = useLocation();
useEffect(() => {
initRum();
datadogRum.setGlobalContext({
location: location.pathname,
});
datadogRum.startSessionReplayRecording();
}, [location]);
return (
<ThemeProvider>
<SessionProvider>

19
ui/src/lib/rum.ts Normal file
View file

@ -0,0 +1,19 @@
import { datadogRum } from "@datadog/browser-rum";
import { reactPlugin } from "@datadog/browser-rum-react";
export const initRum = () => {
datadogRum.init({
applicationId: "8e268e1a-1be0-44c6-b12a-978530d497c7",
clientToken: "pub1761af09ab04e215cc90d34da6ac576b",
site: "datadoghq.com",
service: "xtablo-ui",
env: import.meta.env.MODE,
// Specify a version number to identify the deployed version of your application in Datadog
// version: '1.0.0',
sessionSampleRate: 100,
sessionReplaySampleRate: 80,
defaultPrivacyLevel: "mask-user-input",
plugins: [reactPlugin({ router: true })],
});
};

View file

@ -4,27 +4,10 @@ import { App } from "./App";
import { QueryClientProvider } from "@tanstack/react-query";
import { queryClient } from "./lib/api";
import { GlobalToastRegion } from "./ui-library/toast/toast-region";
import { datadogRum } from "@datadog/browser-rum";
import { reactPlugin } from "@datadog/browser-rum-react";
import "stream-chat-react/dist/css/v2/index.css";
import "./main.css";
datadogRum.init({
applicationId: "8e268e1a-1be0-44c6-b12a-978530d497c7",
clientToken: "pub1761af09ab04e215cc90d34da6ac576b",
site: "datadoghq.com",
service: "xtablo-ui",
env: "staging",
// Specify a version number to identify the deployed version of your application in Datadog
// version: '1.0.0',
sessionSampleRate: 100,
sessionReplaySampleRate: 80,
defaultPrivacyLevel: "mask-user-input",
plugins: [reactPlugin({ router: true })],
});
createRoot(document.getElementById("root")!).render(
<StrictMode>
<GlobalToastRegion />