import React from "react"; import ReactDOM from "react-dom/client"; import App from "./App"; import { ErrorBoundary } from "./components/ErrorBoundary"; import { AnalyticsErrorBoundary } from "./components/AnalyticsErrorBoundary"; import { analytics, resourceMonitor } from "./lib/analytics"; import { PostHogProvider } from "posthog-js/react"; import { loader } from "@monaco-editor/react"; import "./lib/i18n"; // 初始化国际化 import "./assets/shimmer.css"; import "./styles.css"; // Configure Monaco loader to use local assets (copied to /public/monaco/vs) try { loader.config({ paths: { vs: "/monaco/vs" } }); } catch (e) { console.error("[Monaco] loader.config failed:", e); } // Initialize analytics before rendering (will no-op if no consent or no key) analytics.initialize(); // Start resource monitoring (check every 2 minutes) resourceMonitor.startMonitoring(120000); const root = ReactDOM.createRoot(document.getElementById("root") as HTMLElement); const posthogKey = (import.meta as any).env.VITE_PUBLIC_POSTHOG_KEY as string | undefined; if (posthogKey) { root.render( ); } else { root.render( ); }