From af1fb1bbbe7b44c46fd8bc6b35f04e9406b8208b Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 24 Apr 2023 22:44:25 +0200 Subject: [PATCH] fix: prevent other tab to open the modal by using ref instead of local storage --- src/Pages/GroupTasks/GroupTasksViewModal.js | 21 +++---------------- .../GroupTasks/GroupTypeSelectionModal.js | 8 +------ src/utils.js | 8 +++++-- 3 files changed, 10 insertions(+), 27 deletions(-) diff --git a/src/Pages/GroupTasks/GroupTasksViewModal.js b/src/Pages/GroupTasks/GroupTasksViewModal.js index a9512a1..9b9c833 100644 --- a/src/Pages/GroupTasks/GroupTasksViewModal.js +++ b/src/Pages/GroupTasks/GroupTasksViewModal.js @@ -13,11 +13,7 @@ export default function GroupTasksViewModal({ isOpen }) { const navigate = useNavigate(); let { groupTaskId } = useParams(); - const handleCancel = () => { - console.log("handleCancel", isOpen); - navigate(Constants.ROUTE_PATHS.GROUP_TASKS); - }; - + const handleCancel = () => navigate(Constants.ROUTE_PATHS.GROUP_TASKS); let currentGroupTask; webSocketContext.GroupTasks.forEach((groupTask) => { @@ -95,8 +91,6 @@ export default function GroupTasksViewModal({ isOpen }) { }; const handleTaskFailedTryAgainRunTaskStep = (taskStepId, step) => { - console.log("handleTaskFailedTryAgainRunTaskStep ", taskStepId); - webSocketContext.SendSocketMessage( SentMessagesCommands.TaskFailedTryAgainRunTaskStep, { @@ -121,9 +115,6 @@ export default function GroupTasksViewModal({ isOpen }) { groupTaskSteps.sort((a, b) => a.Step - b.Step); - console.log("currentGroupTask", currentGroupTask); - console.log("groupTaskSteps", groupTaskSteps); - webSocketContext.CategoryGroups.forEach((categoryGroup) => { if (categoryGroup.category === currentGroupTask.Category) { categoryGroup.groups.forEach((group) => { @@ -136,11 +127,7 @@ export default function GroupTasksViewModal({ isOpen }) { let stepItems = []; - console.log("groupTasks", groupTasks); - groupTasks.forEach((groupTask, index) => { - console.log("groupTask123", groupTask, groupTaskSteps[index]); - stepItems.push({ key: index, title: groupTask.name, @@ -207,12 +194,10 @@ export default function GroupTasksViewModal({ isOpen }) { > {webSocketContext.GroupTasks.map((groupTask) => { if (groupTask.Id === groupTaskId) { - console.log("groupTask", groupTask); - let currentGroupTask = groupTask; return ( - <> +

{currentGroupTask.GroupName}

@@ -226,7 +211,7 @@ export default function GroupTasksViewModal({ isOpen }) { {FormatDatetime(currentGroupTask.StartedAt)}

- +
); } return ""; diff --git a/src/Pages/GroupTasks/GroupTypeSelectionModal.js b/src/Pages/GroupTasks/GroupTypeSelectionModal.js index b6d9c82..f114677 100644 --- a/src/Pages/GroupTasks/GroupTypeSelectionModal.js +++ b/src/Pages/GroupTasks/GroupTypeSelectionModal.js @@ -155,13 +155,7 @@ export default function GroupTypeSelectionModal({ const rememberId = window.crypto.randomUUID(); - localStorage.setItem("rememberId", rememberId); - - console.log( - "starting task", - currentSelectedModalGroupType, - webSocketContext.groupTypeSelectionModalRememberId - ); + webSocketContext.StartGroupTasksOpenModalRememberIdRef.current = rememberId; webSocketContext.SendSocketMessage(SentMessagesCommands.StartGroupTasks, { category: categoryGroup.category, diff --git a/src/utils.js b/src/utils.js index 81d30a5..999ea1a 100644 --- a/src/utils.js +++ b/src/utils.js @@ -95,6 +95,7 @@ export function WebSocketProvider({ children, userSession, setUserSession }) { const [groupTasks, setGroupTasks] = useState([]); const [groupTasksSteps, setGroupTasksSteps] = useState([]); const navigate = useNavigate(); + const StartGroupTasksOpenModalRememberIdRef = useRef(null); let socket = null; const ws = useRef(null); @@ -131,9 +132,10 @@ export function WebSocketProvider({ children, userSession, setUserSession }) { case ReceivedMessagesCommands.NewGroupTaskStarted: setGroupTasks((arr) => [...arr, body]); - if (body.RememberId === localStorage.getItem("rememberId")) { + if ( + body.RememberId === StartGroupTasksOpenModalRememberIdRef.current + ) { navigate(`${Constants.ROUTE_PATHS.GROUP_TASKS}/${body.Id}`); - localStorage.removeItem("rememberId"); } break; case ReceivedMessagesCommands.NewGroupTaskStep: @@ -208,6 +210,8 @@ export function WebSocketProvider({ children, userSession, setUserSession }) { SendSocketMessage: SendSocketMessage, GroupTasksSteps: groupTasksSteps, setGroupTasksSteps: setGroupTasksSteps, + StartGroupTasksOpenModalRememberIdRef: + StartGroupTasksOpenModalRememberIdRef, }} > {children}