From 06b210fcbdf35f17fbdea283a6bca3bbab9f67e8 Mon Sep 17 00:00:00 2001 From: PhilReact Date: Sun, 10 Nov 2024 19:59:28 +0200 Subject: [PATCH] logout event --- src/App.tsx | 2 +- src/components/Group/WebsocketActive.tsx | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/App.tsx b/src/App.tsx index efdefc0..46f1474 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1007,8 +1007,8 @@ function App() { .sendMessage("logout", {}) .then((response) => { if (response) { - resetAllStates(); executeEvent("logout-event", {}); + resetAllStates(); } }) .catch((error) => { diff --git a/src/components/Group/WebsocketActive.tsx b/src/components/Group/WebsocketActive.tsx index f7150af..37cc48e 100644 --- a/src/components/Group/WebsocketActive.tsx +++ b/src/components/Group/WebsocketActive.tsx @@ -1,5 +1,6 @@ import React, { useEffect, useRef } from 'react'; import { getBaseApiReactSocket, pauseAllQueues, resumeAllQueues } from '../../App'; +import { subscribeToEvent, unsubscribeFromEvent } from '../../utils/events'; export const WebSocketActive = ({ myAddress, setIsLoadingGroups }) => { const socketRef = useRef(null); // WebSocket reference @@ -16,6 +17,18 @@ export const WebSocketActive = ({ myAddress, setIsLoadingGroups }) => { } }; + const logoutEventFunc = () => { + forceCloseWebSocket() + }; + + useEffect(() => { + subscribeToEvent("logout-event", logoutEventFunc); + + return () => { + unsubscribeFromEvent("logout-event", logoutEventFunc); + }; + }, []); + useEffect(() => { if (!myAddress) return; // Only proceed if myAddress is set