evOo-local/apps/web/src/main.tsx
cynarAI 6c7eed7580 Initial clean evOo-local from f00577b
Fresh history cut from cynarAI/evoo antigravity-handoff/project-timeline
(Voice First + project timeline). Brand docs/titles as evOo; keep @rakazo/*
packages as tech debt. Excludes node_modules, caches, secrets, voice blobs.
2026-09-20 17:15:16 +02:00

45 lines
1.3 KiB
TypeScript

import { StrictMode, useEffect, useLayoutEffect } from "react";
import { createRoot } from "react-dom/client";
import { BrowserRouter } from "react-router-dom";
import { App } from "./App";
import { DesktopUpdatesProvider } from "./components/DesktopUpdates";
import { I18nBootstrap } from "./components/I18nBootstrap";
import { applyUiDirection } from "./lib/apply-ui-direction";
import { markAfterPaint, markOnce } from "./lib/performance";
import { installPreloadRecovery } from "./lib/preload-recovery";
import { applyUiAppearance, watchSystemAppearance } from "./lib/ui-appearance";
import { resolveUiLocale } from "./lib/ui-locale";
import "./styles.css";
markOnce("rk:renderer:module-evaluated");
installPreloadRecovery();
applyUiDirection(resolveUiLocale());
applyUiAppearance();
function PerformanceProbe() {
useLayoutEffect(() => {
markOnce("rk:renderer:first-react-commit");
markAfterPaint("rk:renderer:first-react-painted");
}, []);
return null;
}
function AppearanceSync() {
useEffect(() => watchSystemAppearance(), []);
return null;
}
createRoot(document.getElementById("root")!).render(
<StrictMode>
<PerformanceProbe />
<AppearanceSync />
<I18nBootstrap>
<BrowserRouter>
<DesktopUpdatesProvider>
<App />
</DesktopUpdatesProvider>
</BrowserRouter>
</I18nBootstrap>
</StrictMode>,
);