in packages/dashboard-app/src/App.tsx [92:134]
function Router() {
const navigate = useNavigate();
const location = useLocation();
const platformInfo = usePlatformInfo();
useEffect(() => {
try {
Telemetry.page("", location.pathname, { ...location });
} catch (e) {
console.error(e);
}
}, [location]);
useEffect(() => {
let unsubscribe: () => void;
let isStale = false;
Event.subscribe("dashboard.navigate", (request) => {
if (
typeof request === "object" &&
request !== null &&
"path" in request &&
typeof request.path === "string"
) {
navigate(request.path);
} else {
console.error("Invalid dashboard.navigate request", request);
}
return { unsubscribe: false };
})?.then((result) => {
unsubscribe = result.unsubscribe;
if (isStale) unsubscribe();
});
return () => {
if (unsubscribe) unsubscribe();
isStale = true;
};
}, [navigate]);
return (
<>
<Routes>
<Route path="/" element={<Layout />}>