import "@mantine/core/styles.css"; import "@mantine/dates/styles.css"; import "../vite-env.d.ts"; // eslint-disable-line no-restricted-imports -- Outside app paths import "@app/styles/index.css"; // Import global styles import React from "react"; import ReactDOM from "react-dom/client"; import { ColorSchemeScript } from "@mantine/core"; import { BrowserRouter } from "react-router-dom"; import App from "@app/App"; import "@app/i18n"; // Initialize i18next import posthog from "posthog-js"; import { PostHogProvider } from "@posthog/react"; import { BASE_PATH } from "@app/constants/app"; posthog.init(import.meta.env.VITE_PUBLIC_POSTHOG_KEY, { api_host: import.meta.env.VITE_PUBLIC_POSTHOG_HOST, defaults: "2025-05-24", capture_exceptions: true, // This enables capturing exceptions using Error Tracking, set to false if you don't want this debug: false, opt_out_capturing_by_default: true, // Opt-out by default, controlled by cookie consent persistence: "memory", // No cookies/localStorage written until user opts in cross_subdomain_cookie: false, }); function updatePosthogConsent() { if (!posthog.__loaded) return; const optIn = (window.CookieConsent as any)?.acceptedService?.("posthog", "analytics") || false; if (optIn) { posthog.set_config({ persistence: "localStorage+cookie" }); posthog.opt_in_capturing(); } else { posthog.opt_out_capturing(); posthog.set_config({ persistence: "memory" }); } console.log("Updated PostHog consent: ", optIn ? "opted in" : "opted out"); } window.addEventListener("cc:onConsent", updatePosthogConsent); window.addEventListener("cc:onChange", updatePosthogConsent); const container = document.getElementById("root"); if (!container) { throw new Error("Root container missing in index.html"); } const root = ReactDOM.createRoot(container); // Finds the root DOM element root.render( , );