refactor: update z-index values, enhance UserAuth checkbox, and improve sidebar styles; add ZoneProperties and Vector3Input components
This commit is contained in:
parent
7099f1b423
commit
cf86dc8c37
|
@ -107,7 +107,7 @@ export function StockIncreseIcon() {
|
||||||
fill="none"
|
fill="none"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
>
|
>
|
||||||
<g clip-path="url(#clip0_3050_69519)">
|
<g clipPath="url(#clip0_3050_69519)">
|
||||||
<path
|
<path
|
||||||
d="M7.80766 6.99219H1.17811C0.752382 6.99219 0.407227 7.33734 0.407227 7.76307C0.407227 8.18879 0.752382 8.53395 1.17811 8.53395H7.80766C8.23339 8.53395 8.57854 8.18879 8.57854 7.76307C8.57854 7.33733 8.23339 6.99219 7.80766 6.99219Z"
|
d="M7.80766 6.99219H1.17811C0.752382 6.99219 0.407227 7.33734 0.407227 7.76307C0.407227 8.18879 0.752382 8.53395 1.17811 8.53395H7.80766C8.23339 8.53395 8.57854 8.18879 8.57854 7.76307C8.57854 7.33733 8.23339 6.99219 7.80766 6.99219Z"
|
||||||
fill="white"
|
fill="white"
|
||||||
|
@ -142,8 +142,8 @@ export function StockIncreseIcon() {
|
||||||
y2="8.53122"
|
y2="8.53122"
|
||||||
gradientUnits="userSpaceOnUse"
|
gradientUnits="userSpaceOnUse"
|
||||||
>
|
>
|
||||||
<stop stop-color="#31B2B9" />
|
<stop stopColor="#31B2B9" />
|
||||||
<stop offset="1" stop-color="#FBD8B8" />
|
<stop offset="1" stopColor="#FBD8B8" />
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<clipPath id="clip0_3050_69519">
|
<clipPath id="clip0_3050_69519">
|
||||||
<rect
|
<rect
|
||||||
|
|
|
@ -3,9 +3,12 @@ import { ToggleSidebarIcon } from "../../icons/HeaderIcons";
|
||||||
import { LogoIcon } from "../../icons/Logo";
|
import { LogoIcon } from "../../icons/Logo";
|
||||||
import FileMenu from "../../ui/FileMenu";
|
import FileMenu from "../../ui/FileMenu";
|
||||||
import useToggleStore from "../../../store/useUIToggleStore";
|
import useToggleStore from "../../../store/useUIToggleStore";
|
||||||
|
import useModuleStore from "../../../store/useModuleStore";
|
||||||
|
|
||||||
const Header: React.FC = () => {
|
const Header: React.FC = () => {
|
||||||
const { toggleUI, setToggleUI } = useToggleStore();
|
const { toggleUI, setToggleUI } = useToggleStore();
|
||||||
|
const { activeModule } = useModuleStore();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="header-container">
|
<div className="header-container">
|
||||||
<div className="header-content">
|
<div className="header-content">
|
||||||
|
@ -19,7 +22,7 @@ const Header: React.FC = () => {
|
||||||
<div
|
<div
|
||||||
className={`toggle-sidebar-ui-button ${!toggleUI ? "active" : ""}`}
|
className={`toggle-sidebar-ui-button ${!toggleUI ? "active" : ""}`}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setToggleUI(!toggleUI);
|
if (activeModule !== "market") setToggleUI(!toggleUI);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<ToggleSidebarIcon />
|
<ToggleSidebarIcon />
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import Header from "./Header";
|
import Header from "./Header";
|
||||||
import useModuleStore, { useSubModuleStore } from "../../../store/useModuleStore";
|
import useModuleStore, {
|
||||||
|
useSubModuleStore,
|
||||||
|
} from "../../../store/useModuleStore";
|
||||||
import {
|
import {
|
||||||
AnalysisIcon,
|
AnalysisIcon,
|
||||||
MechanicsIcon,
|
MechanicsIcon,
|
||||||
|
@ -15,6 +17,7 @@ import AsstePropertiies from "./properties/AssetProperties";
|
||||||
import Analysis from "./analysis/Analysis";
|
import Analysis from "./analysis/Analysis";
|
||||||
import Simulations from "./simulation/Simulations";
|
import Simulations from "./simulation/Simulations";
|
||||||
import { useSelectedActionSphere } from "../../../store/store";
|
import { useSelectedActionSphere } from "../../../store/store";
|
||||||
|
import ZoneProperties from "./properties/ZoneProperties";
|
||||||
|
|
||||||
const SideBarRight: React.FC = () => {
|
const SideBarRight: React.FC = () => {
|
||||||
const { activeModule } = useModuleStore();
|
const { activeModule } = useModuleStore();
|
||||||
|
@ -24,7 +27,8 @@ const SideBarRight: React.FC = () => {
|
||||||
|
|
||||||
// Reset subModule whenever activeModule changes
|
// Reset subModule whenever activeModule changes
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setSubModule("properties");
|
if (activeModule !== "simulation") setSubModule("properties");
|
||||||
|
if (activeModule === "simulation") setSubModule("mechanics");
|
||||||
}, [activeModule]);
|
}, [activeModule]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -32,32 +36,38 @@ const SideBarRight: React.FC = () => {
|
||||||
<Header />
|
<Header />
|
||||||
{toggleUI && (
|
{toggleUI && (
|
||||||
<div className="sidebar-actions-container">
|
<div className="sidebar-actions-container">
|
||||||
<div
|
{/* {activeModule === "builder" && ( */}
|
||||||
className={`sidebar-action-list ${subModule === "properties" ? "active" : ""
|
<div
|
||||||
|
className={`sidebar-action-list ${
|
||||||
|
subModule === "properties" ? "active" : ""
|
||||||
}`}
|
}`}
|
||||||
onClick={() => setSubModule("properties")}
|
onClick={() => setSubModule("properties")}
|
||||||
>
|
>
|
||||||
<PropertiesIcon isActive={subModule === "properties"} />
|
<PropertiesIcon isActive={subModule === "properties"} />
|
||||||
</div>
|
</div>
|
||||||
|
{/* )} */}
|
||||||
{activeModule === "simulation" && (
|
{activeModule === "simulation" && (
|
||||||
<>
|
<>
|
||||||
<div
|
<div
|
||||||
className={`sidebar-action-list ${subModule === "mechanics" ? "active" : ""
|
className={`sidebar-action-list ${
|
||||||
}`}
|
subModule === "mechanics" ? "active" : ""
|
||||||
|
}`}
|
||||||
onClick={() => setSubModule("mechanics")}
|
onClick={() => setSubModule("mechanics")}
|
||||||
>
|
>
|
||||||
<MechanicsIcon isActive={subModule === "mechanics"} />
|
<MechanicsIcon isActive={subModule === "mechanics"} />
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`sidebar-action-list ${subModule === "simulations" ? "active" : ""
|
className={`sidebar-action-list ${
|
||||||
}`}
|
subModule === "simulations" ? "active" : ""
|
||||||
|
}`}
|
||||||
onClick={() => setSubModule("simulations")}
|
onClick={() => setSubModule("simulations")}
|
||||||
>
|
>
|
||||||
<SimulationIcon isActive={subModule === "simulations"} />
|
<SimulationIcon isActive={subModule === "simulations"} />
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`sidebar-action-list ${subModule === "analysis" ? "active" : ""
|
className={`sidebar-action-list ${
|
||||||
}`}
|
subModule === "analysis" ? "active" : ""
|
||||||
|
}`}
|
||||||
onClick={() => setSubModule("analysis")}
|
onClick={() => setSubModule("analysis")}
|
||||||
>
|
>
|
||||||
<AnalysisIcon isActive={subModule === "analysis"} />
|
<AnalysisIcon isActive={subModule === "analysis"} />
|
||||||
|
@ -73,6 +83,7 @@ const SideBarRight: React.FC = () => {
|
||||||
<div className="sidebar-right-container">
|
<div className="sidebar-right-container">
|
||||||
<div className="sidebar-right-content-container">
|
<div className="sidebar-right-content-container">
|
||||||
<GlobalProperties />
|
<GlobalProperties />
|
||||||
|
{/* <ZoneProperties /> */}
|
||||||
{/* <AsstePropertiies /> */}
|
{/* <AsstePropertiies /> */}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -82,17 +93,17 @@ const SideBarRight: React.FC = () => {
|
||||||
|
|
||||||
{toggleUI && activeModule === "simulation" && (
|
{toggleUI && activeModule === "simulation" && (
|
||||||
<>
|
<>
|
||||||
{(subModule === "mechanics" && selectedActionSphere) && (
|
{subModule === "mechanics" && selectedActionSphere && (
|
||||||
<div className="sidebar-right-container">
|
<div className="sidebar-right-container">
|
||||||
<div className="sidebar-right-content-container">
|
<div className="sidebar-right-content-container">
|
||||||
<MachineMechanics />
|
<MachineMechanics />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{(subModule === "mechanics" && !selectedActionSphere) && (
|
{subModule === "mechanics" && !selectedActionSphere && (
|
||||||
<div className="sidebar-right-container">
|
<div className="sidebar-right-container">
|
||||||
<div className="sidebar-right-content-container">
|
<div className="sidebar-right-content-container">
|
||||||
{/* <MachineMechanics /> */}
|
<MachineMechanics />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
import React from "react";
|
||||||
|
import { EyeDroperIcon } from "../../../icons/ExportCommonIcons";
|
||||||
|
|
||||||
|
interface PositionInputProps {
|
||||||
|
onChange: (value: string) => void; // Callback for value change
|
||||||
|
header: string;
|
||||||
|
placeholder?: string; // Optional placeholder
|
||||||
|
type?: string; // Input type (e.g., text, number, email)
|
||||||
|
}
|
||||||
|
|
||||||
|
const Vector3Input: React.FC<PositionInputProps> = ({
|
||||||
|
onChange,
|
||||||
|
header,
|
||||||
|
placeholder = "Enter value", // Default placeholder
|
||||||
|
type = "number", // Default type
|
||||||
|
}) => {
|
||||||
|
return (
|
||||||
|
<div className="custom-input-container">
|
||||||
|
<div className="header">
|
||||||
|
{header}{" "}
|
||||||
|
<div className="eyedrop-button">
|
||||||
|
<EyeDroperIcon isActive={false} />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="inputs-container">
|
||||||
|
<div className="input-container">
|
||||||
|
<div className="custom-input-label">X : </div>
|
||||||
|
<input
|
||||||
|
className="custom-input-field"
|
||||||
|
type={type}
|
||||||
|
onChange={(e) => onChange(e.target.value)}
|
||||||
|
placeholder={placeholder}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="input-container">
|
||||||
|
<div className="custom-input-label">Y : </div>
|
||||||
|
<input
|
||||||
|
className="custom-input-field"
|
||||||
|
type={type}
|
||||||
|
onChange={(e) => onChange(e.target.value)}
|
||||||
|
placeholder={placeholder}
|
||||||
|
min={0}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div className="input-container">
|
||||||
|
<div className="custom-input-label">Z : </div>
|
||||||
|
<input
|
||||||
|
className="custom-input-field"
|
||||||
|
type={type}
|
||||||
|
onChange={(e) => onChange(e.target.value)}
|
||||||
|
placeholder={placeholder}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Vector3Input;
|
|
@ -14,8 +14,8 @@ import EyeDropInput from "../../../ui/inputs/EyeDropInput";
|
||||||
import { useSelectedActionSphere } from "../../../../store/store";
|
import { useSelectedActionSphere } from "../../../../store/store";
|
||||||
|
|
||||||
const MachineMechanics: React.FC = () => {
|
const MachineMechanics: React.FC = () => {
|
||||||
const { selectedActionSphere, setSelectedActionSphere } = useSelectedActionSphere();
|
const { selectedActionSphere } = useSelectedActionSphere();
|
||||||
console.log('selectedActionSphere: ', selectedActionSphere);
|
console.log("selectedActionSphere: ", selectedActionSphere);
|
||||||
const [actionList, setActionList] = useState<string[]>([]);
|
const [actionList, setActionList] = useState<string[]>([]);
|
||||||
const [triggerList, setTriggerList] = useState<string[]>([]);
|
const [triggerList, setTriggerList] = useState<string[]>([]);
|
||||||
const [selectedItem, setSelectedItem] = useState<{
|
const [selectedItem, setSelectedItem] = useState<{
|
||||||
|
@ -71,7 +71,9 @@ const MachineMechanics: React.FC = () => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="machine-mechanics-container">
|
<div className="machine-mechanics-container">
|
||||||
<div className="machine-mechanics-header">{selectedActionSphere.path.modelName}</div>
|
<div className="machine-mechanics-header">
|
||||||
|
{selectedActionSphere?.path?.modelName || "path name not found"}
|
||||||
|
</div>
|
||||||
{/* <div className="process-list-container">
|
{/* <div className="process-list-container">
|
||||||
<div className="label">Process:</div>
|
<div className="label">Process:</div>
|
||||||
<RegularDropDown
|
<RegularDropDown
|
||||||
|
@ -100,11 +102,12 @@ const MachineMechanics: React.FC = () => {
|
||||||
{actionList.map((action, index) => (
|
{actionList.map((action, index) => (
|
||||||
<div
|
<div
|
||||||
key={index}
|
key={index}
|
||||||
className={`list-item ${selectedItem?.type === "action" &&
|
className={`list-item ${
|
||||||
|
selectedItem?.type === "action" &&
|
||||||
selectedItem.name === action
|
selectedItem.name === action
|
||||||
? "active"
|
? "active"
|
||||||
: ""
|
: ""
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="value"
|
className="value"
|
||||||
|
@ -146,11 +149,12 @@ const MachineMechanics: React.FC = () => {
|
||||||
{triggerList.map((trigger, index) => (
|
{triggerList.map((trigger, index) => (
|
||||||
<div
|
<div
|
||||||
key={index}
|
key={index}
|
||||||
className={`list-item ${selectedItem?.type === "trigger" &&
|
className={`list-item ${
|
||||||
|
selectedItem?.type === "trigger" &&
|
||||||
selectedItem.name === trigger
|
selectedItem.name === trigger
|
||||||
? "active"
|
? "active"
|
||||||
: ""
|
: ""
|
||||||
}`}
|
}`}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="value"
|
className="value"
|
||||||
|
@ -188,7 +192,7 @@ const MachineMechanics: React.FC = () => {
|
||||||
label="Speed"
|
label="Speed"
|
||||||
value=""
|
value=""
|
||||||
activeOption=".mm"
|
activeOption=".mm"
|
||||||
onChange={() => { }}
|
onChange={() => {}}
|
||||||
/>
|
/>
|
||||||
<EyeDropInput />
|
<EyeDropInput />
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
import React from "react";
|
||||||
|
import RenameInput from "../../../ui/inputs/RenameInput";
|
||||||
|
import Vector3Input from "../customInput/Vector3Input";
|
||||||
|
|
||||||
|
const ZoneProperties = () => {
|
||||||
|
return (
|
||||||
|
<div className="zone-properties-container">
|
||||||
|
<div className="header">
|
||||||
|
<RenameInput value="Selected Zone Name" />
|
||||||
|
</div>
|
||||||
|
<Vector3Input onChange={()=>{}} header="Target"/>
|
||||||
|
<Vector3Input onChange={()=>{}} header="Position"/>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ZoneProperties;
|
|
@ -28,7 +28,7 @@ const DropList: React.FC<DropListProps> = ({ val }) => {
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{val.pathName}
|
{val.pathName}
|
||||||
<div className="arrow-container">
|
<div className={`arrow-container${openDrop ? " active" : ""}`}>
|
||||||
<ArrowIcon />
|
<ArrowIcon />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -87,8 +87,9 @@ const Simulations: React.FC = () => {
|
||||||
{productsList.map((action, index) => (
|
{productsList.map((action, index) => (
|
||||||
<div
|
<div
|
||||||
key={index}
|
key={index}
|
||||||
className={`list-item ${selectedItem === action ? "active" : ""
|
className={`list-item ${
|
||||||
}`}
|
selectedItem === action ? "active" : ""
|
||||||
|
}`}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="value"
|
className="value"
|
||||||
|
|
|
@ -6,15 +6,20 @@ import {
|
||||||
SimulationIcon,
|
SimulationIcon,
|
||||||
VisualizationIcon,
|
VisualizationIcon,
|
||||||
} from "../icons/ExportModuleIcons";
|
} from "../icons/ExportModuleIcons";
|
||||||
|
import useToggleStore from "../../store/useUIToggleStore";
|
||||||
|
|
||||||
const ModuleToggle: React.FC = () => {
|
const ModuleToggle: React.FC = () => {
|
||||||
const { activeModule, setActiveModule } = useModuleStore();
|
const { activeModule, setActiveModule } = useModuleStore();
|
||||||
|
const { setToggleUI } = useToggleStore();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="module-toggle-container">
|
<div className="module-toggle-container">
|
||||||
<div
|
<div
|
||||||
className={`module-list ${activeModule === "builder" && "active"}`}
|
className={`module-list ${activeModule === "builder" && "active"}`}
|
||||||
onClick={() => setActiveModule("builder")}
|
onClick={() => {
|
||||||
|
setActiveModule("builder");
|
||||||
|
setToggleUI(true);
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div className="icon">
|
<div className="icon">
|
||||||
<BuilderIcon isActive={activeModule === "builder"} />
|
<BuilderIcon isActive={activeModule === "builder"} />
|
||||||
|
@ -23,7 +28,10 @@ const ModuleToggle: React.FC = () => {
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`module-list ${activeModule === "simulation" && "active"}`}
|
className={`module-list ${activeModule === "simulation" && "active"}`}
|
||||||
onClick={() => setActiveModule("simulation")}
|
onClick={() => {
|
||||||
|
setActiveModule("simulation");
|
||||||
|
setToggleUI(true);
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div className="icon">
|
<div className="icon">
|
||||||
<SimulationIcon isActive={activeModule === "simulation"} />
|
<SimulationIcon isActive={activeModule === "simulation"} />
|
||||||
|
@ -34,7 +42,10 @@ const ModuleToggle: React.FC = () => {
|
||||||
className={`module-list ${
|
className={`module-list ${
|
||||||
activeModule === "visualization" && "active"
|
activeModule === "visualization" && "active"
|
||||||
}`}
|
}`}
|
||||||
onClick={() => setActiveModule("visualization")}
|
onClick={() => {
|
||||||
|
setActiveModule("visualization");
|
||||||
|
setToggleUI(true);
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div className="icon">
|
<div className="icon">
|
||||||
<VisualizationIcon isActive={activeModule === "visualization"} />
|
<VisualizationIcon isActive={activeModule === "visualization"} />
|
||||||
|
@ -42,10 +53,11 @@ const ModuleToggle: React.FC = () => {
|
||||||
<div className="module">Visualization</div>
|
<div className="module">Visualization</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`module-list ${
|
className={`module-list ${activeModule === "market" && "active"}`}
|
||||||
activeModule === "market" && "active"
|
onClick={() => {
|
||||||
}`}
|
setActiveModule("market");
|
||||||
onClick={() => setActiveModule("market")}
|
setToggleUI(false);
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<div className="icon">
|
<div className="icon">
|
||||||
<CartIcon isActive={activeModule === "market"} />
|
<CartIcon isActive={activeModule === "market"} />
|
||||||
|
|
|
@ -5,6 +5,7 @@ import AddButtons from "./AddButtons";
|
||||||
import { useSelectedZoneStore } from "../../../store/useZoneStore";
|
import { useSelectedZoneStore } from "../../../store/useZoneStore";
|
||||||
import DisplayZone from "./DisplayZone";
|
import DisplayZone from "./DisplayZone";
|
||||||
import Scene from "../../../modules/scene/scene";
|
import Scene from "../../../modules/scene/scene";
|
||||||
|
import useModuleStore from "../../../store/useModuleStore";
|
||||||
|
|
||||||
type Side = "top" | "bottom" | "left" | "right";
|
type Side = "top" | "bottom" | "left" | "right";
|
||||||
|
|
||||||
|
@ -60,6 +61,7 @@ const RealTimeVisulization: React.FC = () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const { isPlaying } = usePlayButtonStore();
|
const { isPlaying } = usePlayButtonStore();
|
||||||
|
const { activeModule } = useModuleStore();
|
||||||
|
|
||||||
const { selectedZone, setSelectedZone } = useSelectedZoneStore();
|
const { selectedZone, setSelectedZone } = useSelectedZoneStore();
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
@ -75,33 +77,44 @@ const RealTimeVisulization: React.FC = () => {
|
||||||
id="real-time-vis-canvas"
|
id="real-time-vis-canvas"
|
||||||
className="realTime-viz canvas"
|
className="realTime-viz canvas"
|
||||||
style={{
|
style={{
|
||||||
height: isPlaying ? "100vh" : "",
|
height: isPlaying || activeModule !== "visualization" ? "100vh" : "",
|
||||||
width: isPlaying ? "100%" : "",
|
width: isPlaying || activeModule !== "visualization" ? "100vw" : "",
|
||||||
left: isPlaying ? "0%" : "",
|
left: isPlaying || activeModule !== "visualization" ? "0%" : "",
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
className="scene-container"
|
className="scene-container"
|
||||||
style={{ height: "100%", width: "100%" }}
|
style={{
|
||||||
|
height: "100%",
|
||||||
|
width: "100%",
|
||||||
|
borderRadius: isPlaying || activeModule !== "visualization" ? "" : "6px",
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<Scene />
|
<Scene />
|
||||||
</div>
|
</div>
|
||||||
<DisplayZone
|
{activeModule === "visualization" && (
|
||||||
zonesData={zonesData}
|
<>
|
||||||
selectedZone={selectedZone}
|
<DisplayZone
|
||||||
setSelectedZone={setSelectedZone}
|
zonesData={zonesData}
|
||||||
/>
|
selectedZone={selectedZone}
|
||||||
|
setSelectedZone={setSelectedZone}
|
||||||
|
/>
|
||||||
|
|
||||||
{!isPlaying && (
|
{!isPlaying && (
|
||||||
<AddButtons
|
<AddButtons
|
||||||
hiddenPanels={hiddenPanels}
|
hiddenPanels={hiddenPanels}
|
||||||
setHiddenPanels={setHiddenPanels}
|
setHiddenPanels={setHiddenPanels}
|
||||||
selectedZone={selectedZone}
|
selectedZone={selectedZone}
|
||||||
setSelectedZone={setSelectedZone}
|
setSelectedZone={setSelectedZone}
|
||||||
/>
|
/>
|
||||||
|
)}
|
||||||
|
|
||||||
|
<Panel
|
||||||
|
selectedZone={selectedZone}
|
||||||
|
setSelectedZone={setSelectedZone}
|
||||||
|
/>
|
||||||
|
</>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<Panel selectedZone={selectedZone} setSelectedZone={setSelectedZone} />
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -21,8 +21,8 @@ const Project: React.FC = () => {
|
||||||
let navigate = useNavigate();
|
let navigate = useNavigate();
|
||||||
const { activeModule } = useModuleStore();
|
const { activeModule } = useModuleStore();
|
||||||
|
|
||||||
const { userName, setUserName } = useUserName();
|
const { setUserName } = useUserName();
|
||||||
const { organization, setOrganization } = useOrganization();
|
const { setOrganization } = useOrganization();
|
||||||
const { setFloorItems } = useFloorItems();
|
const { setFloorItems } = useFloorItems();
|
||||||
const { setWallItems } = useWallItems();
|
const { setWallItems } = useWallItems();
|
||||||
const { setZones } = useZones();
|
const { setZones } = useZones();
|
||||||
|
@ -50,15 +50,13 @@ const Project: React.FC = () => {
|
||||||
<ModuleToggle />
|
<ModuleToggle />
|
||||||
<SideBarLeft />
|
<SideBarLeft />
|
||||||
<SideBarRight />
|
<SideBarRight />
|
||||||
{activeModule === "visualization" && <RealTimeVisulization />}
|
<RealTimeVisulization />
|
||||||
<Tools />
|
{activeModule !== "market" && <Tools />}
|
||||||
{/* <SimulationUI /> */}
|
{/* <SimulationUI /> */}
|
||||||
<div
|
<div
|
||||||
className="canvas-container"
|
className="canvas-container"
|
||||||
style={{ height: "100vh", width: "100vw" }}
|
style={{ height: "100vh", width: "100vw" }}
|
||||||
>
|
></div>
|
||||||
{activeModule !== "visualization" && <Scene />}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
@ -141,7 +141,7 @@ const UserAuth: React.FC = () => {
|
||||||
</div>
|
</div>
|
||||||
{!isSignIn && (
|
{!isSignIn && (
|
||||||
<div className="policy-checkbox">
|
<div className="policy-checkbox">
|
||||||
<input type="checkbox" name="" id="" />
|
<input type="checkbox" name="" id="" required/>
|
||||||
<div className="label">
|
<div className="label">
|
||||||
I have read and agree to the terms of service
|
I have read and agree to the terms of service
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
transition: width 0.2s;
|
transition: width 0.2s;
|
||||||
background-color: var(--background-color);
|
background-color: var(--background-color);
|
||||||
z-index: #{$z-index-tools};
|
z-index: #{$z-index-default};
|
||||||
.split {
|
.split {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
width: 2px;
|
width: 2px;
|
||||||
|
|
|
@ -662,16 +662,30 @@
|
||||||
.collapse-header-container {
|
.collapse-header-container {
|
||||||
@include flex-space-between;
|
@include flex-space-between;
|
||||||
padding-right: 12px;
|
padding-right: 12px;
|
||||||
|
margin-top: 8px;
|
||||||
|
border-top: 1px solid var(--border-color);
|
||||||
|
border-bottom: 1px solid var(--border-color);
|
||||||
|
.header {
|
||||||
|
color: var(--accent-color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.process-container {
|
.process-container {
|
||||||
|
padding: 0 12px;
|
||||||
|
margin: 6px 0;
|
||||||
.value {
|
.value {
|
||||||
|
@include flex-space-between;
|
||||||
.arrow-container {
|
.arrow-container {
|
||||||
|
height: 16px;
|
||||||
|
width: 16px;
|
||||||
}
|
}
|
||||||
.active {
|
.active {
|
||||||
|
rotate: 90deg;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.children-drop {
|
.children-drop {
|
||||||
.value {
|
.value {
|
||||||
|
padding: 6px;
|
||||||
|
border-left: 1px solid var(--border-color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -716,12 +730,16 @@
|
||||||
}
|
}
|
||||||
.global-properties-container,
|
.global-properties-container,
|
||||||
.analysis-main-container,
|
.analysis-main-container,
|
||||||
.asset-properties-container {
|
.asset-properties-container,
|
||||||
|
.zone-properties-container {
|
||||||
.header {
|
.header {
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
border-top: 1px solid var(--highlight-accent-color);
|
border-top: 1px solid var(--highlight-accent-color);
|
||||||
border-bottom: 1px solid var(--highlight-accent-color);
|
border-bottom: 1px solid var(--highlight-accent-color);
|
||||||
color: var(--accent-color);
|
color: var(--accent-color);
|
||||||
|
.input-value {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.input-container {
|
.input-container {
|
||||||
@include flex-center;
|
@include flex-center;
|
||||||
|
@ -759,7 +777,11 @@
|
||||||
}
|
}
|
||||||
.custom-input-container {
|
.custom-input-container {
|
||||||
.header {
|
.header {
|
||||||
|
@include flex-space-between;
|
||||||
border: none;
|
border: none;
|
||||||
|
.eyedrop-button {
|
||||||
|
@include flex-center;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.inputs-container {
|
.inputs-container {
|
||||||
@include flex-space-between;
|
@include flex-space-between;
|
||||||
|
|
|
@ -11,6 +11,13 @@
|
||||||
top: 50%;
|
top: 50%;
|
||||||
left: calc(270px + 45px);
|
left: calc(270px + 45px);
|
||||||
transform: translate(0, -50%);
|
transform: translate(0, -50%);
|
||||||
|
border-radius: #{$border-radius-medium};
|
||||||
|
transition: all 0.2s;
|
||||||
|
z-index: #{$z-index-default};
|
||||||
|
|
||||||
|
.scene-container {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -180,7 +187,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
&.top-panel,
|
&.top-panel,
|
||||||
&.bottom-panel {
|
&.bottom-panel {
|
||||||
left: 0;
|
left: 0;
|
||||||
|
|
Loading…
Reference in New Issue