handlePointerMove({ clientX: e.clientX, clientY: e.clientY })}
- onPointerUp={handlePointerUp}
- style={{
- position: "absolute",
- left: position.x,
- top: position.y,
- cursor: dragging ? "grabbing" : "grab",
- userSelect: "none",
- zIndex: 9999,
- }}
- >
-
-
-
Comment
-
-
{
- e.preventDefault();
- setOpenThreadOptions((prev) => !prev);
- }}
- >
-
-
- {openThreadOptions && (
-
-
Mark as Unread
-
Mark as Resolved
-
- Delete Thread
-
-
- )}
-
-
-
-
-
- {selectedComment && }
- {messages &&
- messages.map((val, i) => (
-
- ))}
-
-
-
-
-
-
- );
-};
-
-export default ThreadChat;
+import React, { useEffect, useRef, useState } from "react";
+import { CloseIcon, KebabIcon } from "../../../icons/ExportCommonIcons";
+import Messages from "./Messages";
+import { ExpandIcon } from "../../../icons/SimulationIcons";
+import { adjustHeight } from "../function/textAreaHeightAdjust";
+import { useParams } from "react-router-dom";
+import { useSelectedComment, useSocketStore } from "../../../../store/builder/store";
+import { getUserData } from "../../../../functions/getUserData";
+import ThreadSocketResponsesDev from "../../../../modules/collaboration/socket/threadSocketResponses.dev";
+import { useSceneContext } from "../../../../modules/scene/sceneContext";
+
+import { addCommentsApi } from "../../../../services/factoryBuilder/comments/addCommentApi";
+import { deleteThreadApi } from "../../../../services/factoryBuilder/comments/deleteThreadApi";
+import { createThreadApi } from "../../../../services/factoryBuilder/comments/createThreadApi";
+import { getRelativeTime } from "../function/getRelativeTime";
+
+const ThreadChat: React.FC = () => {
+ const { userId, organization } = getUserData();
+ const [openThreadOptions, setOpenThreadOptions] = useState(false);
+ const [inputActive, setInputActive] = useState(false);
+ const [value, setValue] = useState