Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | 33x 33x | import { Provider } from "react-redux";
import { Route, Routes } from "react-router-dom";
import { store } from "./store/store";
import { Toaster } from "sonner";
import "../app/globals.css";
import { ThemeProvider } from "./ahuora-design-system/ThemeProvider";
import ProjectPage from "./pages/flowsheet-page/ProjectPage";
import MainPage from "./pages/main-page/MainPage";
import { CommandProvider } from "just-search-it";
import { SwitchThemes } from "./commands/Display";
import { usePostHog } from "posthog-js/react";
import { useAuthenticationUserinfoRetrieveQuery } from "@/api/apiStore.gen.ts";
import { useEffect } from "react";
import { getPostHogStarted } from "@/analytics/posthog.tsx";
import TemplateGallery from "./pages/main-page/components/TemplateGallery";
// @ts-expect-error Vite environment variables are dynamically injected at build time
const isProduction = import.meta.env.MODE === "production";
function PostHogTracker() {
const posthog = usePostHog();
const { data: userInfo, isError } = useAuthenticationUserinfoRetrieveQuery();
// Identify the active user in PostHog
useEffect(() => {
Iif (getPostHogStarted()) {
if (isError)
console.log(
"Failed to initialise PostHog: could not retrieve user info"
I);
else if (userInfo) {
posthog.identify(userInfo.username, { email: userInfo.email });
}
}
}, [posthog, userInfo?.username, userInfo?.email]);
return null;
}
export default function App() {
return (
<ThemeProvider defaultTheme="dark" storageKey="vite-ui-theme">
<CommandProvider>
<Provider store={store}>
<Routes>
<Route path="/" element={<MainPage />} />
<Route path="/templates" element={<TemplateGallery />} />
<Route path="/project/:flowsheetId/">
<Route path="flowsheet" element={<ProjectPage />} />
</Route>
</Routes>
<SwitchThemes />
<Toaster position="bottom-right" richColors={true} />
{/* <PostHogTracker/> */}
</Provider>
</CommandProvider>
</ThemeProvider>
);
}
|