diff --git a/app/src/components/layout/scenes/MainScene.tsx b/app/src/components/layout/scenes/MainScene.tsx index ef53a50..1234246 100644 --- a/app/src/components/layout/scenes/MainScene.tsx +++ b/app/src/components/layout/scenes/MainScene.tsx @@ -1,17 +1,5 @@ -import React, { useEffect } from "react"; -import { - useLoadingProgress, - useRenameModeStore, - useSaveVersion, - useSelectedComment, - useSocketStore, - useWidgetSubOption, -} from "../../../store/builder/store"; -import useModuleStore, { useThreeDStore } from "../../../store/useModuleStore"; -import { usePlayButtonStore } from "../../../store/usePlayButtonStore"; -import { useSelectedZoneStore } from "../../../store/visualization/useZoneStore"; -import { useFloatingWidget } from "../../../store/visualization/useDroppedObjectsStore"; -import { useSelectedUserStore } from "../../../store/collaboration/useCollabStore"; +import { useEffect } from "react"; +import { useLoadingProgress, useRenameModeStore, useSaveVersion, useSelectedComment, useSocketStore, useWidgetSubOption } from "../../../store/builder/store"; import KeyPressListener from "../../../utils/shortcutkeys/handleShortcutKeys"; import LoadingPage from "../../templates/LoadingPage"; import ModuleToggle from "../../ui/ModuleToggle"; @@ -23,21 +11,28 @@ import Tools from "../../ui/Tools"; import SimulationPlayer from "../../ui/simulation/simulationPlayer"; import ControlsPlayer from "../controls/ControlsPlayer"; import SelectFloorPlan from "../../temporary/SelectFloorPlan"; -import { createHandleDrop } from "../../../modules/visualization/functions/handleUiDrop"; -import Scene from "../../../modules/scene/scene"; -import { useComparisonProduct, useMainProduct } from "../../../store/simulation/useSimulationStore"; -import { useProductContext } from "../../../modules/simulation/products/productContext"; import RegularDropDown from "../../ui/inputs/RegularDropDown"; import RenameTooltip from "../../ui/features/RenameTooltip"; +import VersionSaved from "../sidebarRight/versionHisory/VersionSaved"; +import Footer from "../../footer/Footer"; +import ThreadChat from "../../ui/collaboration/ThreadChat"; +import Scene from "../../../modules/scene/scene"; +import useModuleStore, { useThreeDStore } from "../../../store/useModuleStore"; +import { usePlayButtonStore } from "../../../store/usePlayButtonStore"; +import { useSelectedZoneStore } from "../../../store/visualization/useZoneStore"; +import { useFloatingWidget } from "../../../store/visualization/useDroppedObjectsStore"; +import { useSelectedUserStore } from "../../../store/collaboration/useCollabStore"; +import { createHandleDrop } from "../../../modules/visualization/functions/handleUiDrop"; +import { useComparisonProduct, useMainProduct } from "../../../store/simulation/useSimulationStore"; +import { useProductContext } from "../../../modules/simulation/products/productContext"; import { setAssetsApi } from "../../../services/factoryBuilder/asset/floorAsset/setAssetsApi"; import { useParams } from "react-router-dom"; import { useSceneContext } from "../../../modules/scene/sceneContext"; import { useVersionHistoryStore } from "../../../store/builder/useVersionHistoryStore"; import { useVersionContext } from "../../../modules/builder/version/versionContext"; -import VersionSaved from "../sidebarRight/versionHisory/VersionSaved"; -import Footer from "../../footer/Footer"; -import ThreadChat from "../../ui/collaboration/ThreadChat"; import { useBuilderStore } from "../../../store/builder/useBuilderStore"; +import { recentlyViewed } from "../../../services/dashboard/recentlyViewed"; +import { getUserData } from "../../../functions/getUserData"; function MainScene() { const { setMainProduct } = useMainProduct(); @@ -59,6 +54,7 @@ function MainScene() { const { products } = productStore(); const { setName, selectedAssets, setSelectedAssets } = assetStore(); const { projectId } = useParams() + const { organization, userId } = getUserData(); const { isRenameMode, setIsRenameMode } = useRenameModeStore(); const { versionHistory } = useVersionHistoryStore(); const { selectedVersionStore } = useVersionContext(); @@ -73,8 +69,16 @@ function MainScene() { }, [activeModule, clearComparisonProduct, setIsVersionSaved]) useEffect(() => { - if (versionHistory.length > 0) { - setSelectedVersion(versionHistory[0]) + if (versionHistory.length > 0 && organization && userId) { + recentlyViewed(organization, userId).then((projects) => { + const recent_opened_verisionID = (Object.values(projects?.RecentlyViewed || {})[0] as any)?.Present_version._id; + if (recent_opened_verisionID) { + const version = versionHistory.find((ver) => ver.versionId === recent_opened_verisionID); + if (version) { + setSelectedVersion(version); + } + } + }) } }, [setSelectedVersion, versionHistory]) diff --git a/app/src/pages/Project.tsx b/app/src/pages/Project.tsx index 9c297e8..0530377 100644 --- a/app/src/pages/Project.tsx +++ b/app/src/pages/Project.tsx @@ -95,9 +95,7 @@ const Project: React.FC = () => { const refreshToken = localStorage.getItem("refreshToken"); echo.warn('Validating token'); if (token && refreshToken) { - useSocketStore - .getState() - .initializeSocket(email, organization, token, refreshToken); + useSocketStore.getState().initializeSocket(email, organization, token, refreshToken); } echo.success("Project initialized and loaded successfully"); } else { diff --git a/app/src/pages/UserAuth.tsx b/app/src/pages/UserAuth.tsx index f7b89a1..153e5f0 100644 --- a/app/src/pages/UserAuth.tsx +++ b/app/src/pages/UserAuth.tsx @@ -46,10 +46,7 @@ const UserAuth: React.FC = () => { localStorage.setItem("refreshToken", res.message.refreshToken); try { - const projects = await recentlyViewed( - organization, - res.message.userId - ); + const projects = await recentlyViewed(organization, res.message.userId); if (res.message.isShare) { if (Object.values(projects.RecentlyViewed).length > 0) { const recent_opend_projectID = (Object.values(projects?.RecentlyViewed || {})[0] as any)?._id;