Dwinzo_dev/app/src/pages/Project.tsx

67 lines
2.0 KiB
TypeScript
Raw Normal View History

import React, { useEffect } from "react";
2025-03-25 06:17:41 +00:00
import ModuleToggle from "../components/ui/ModuleToggle";
import SideBarLeft from "../components/layout/sidebarLeft/SideBarLeft";
import SideBarRight from "../components/layout/sidebarRight/SideBarRight";
import useModuleStore from "../store/useModuleStore";
import RealTimeVisulization from "../components/ui/componets/RealTimeVisulization";
import Tools from "../components/ui/Tools";
import Scene from "../modules/scene/scene";
2025-03-25 10:03:38 +00:00
import {
useSocketStore,
useFloorItems,
useOrganization,
useUserName,
useWallItems,
useZones,
} from "../store/store";
import { useNavigate } from "react-router-dom";
import SimulationUI from "../modules/simulation/simulationUI";
2025-03-25 06:17:41 +00:00
const Project: React.FC = () => {
let navigate = useNavigate();
2025-03-25 06:17:41 +00:00
const { activeModule } = useModuleStore();
const { userName, setUserName } = useUserName();
const { organization, setOrganization } = useOrganization();
const { setFloorItems } = useFloorItems();
const { setWallItems } = useWallItems();
const { setZones } = useZones();
useEffect(() => {
setFloorItems([]);
setWallItems([]);
setZones([]);
2025-03-25 10:03:38 +00:00
const email = localStorage.getItem("email");
if (email) {
useSocketStore.getState().initializeSocket(email);
2025-03-25 10:03:38 +00:00
const Organization = email!.split("@")[1].split(".")[0];
const name = localStorage.getItem("userName");
if (Organization && name) {
setOrganization(Organization);
setUserName(name);
}
} else {
navigate("/");
}
2025-03-25 10:03:38 +00:00
}, []);
2025-03-25 06:17:41 +00:00
return (
<div className="project-main">
<ModuleToggle />
<SideBarLeft />
<SideBarRight />
{activeModule === "visualization" && <RealTimeVisulization />}
<Tools />
2025-03-25 12:04:20 +00:00
{/* <SimulationUI /> */}
2025-03-25 10:03:38 +00:00
<div
className="canvas-container"
style={{ height: "100vh", width: "100vw" }}
>
{activeModule !== "visualization" && <Scene />}
</div>
2025-03-25 06:17:41 +00:00
</div>
);
};
export default Project;