diff --git a/src/App.js b/src/App.js index 1732ae1..8da0062 100644 --- a/src/App.js +++ b/src/App.js @@ -17,29 +17,6 @@ export default function App() { const { userSession, setUserSession } = UseUserSession(); const [userData, setUserData] = useState(ClientUserDataContextPreview); - useEffect(() => { - if (!userSession) return; - - fetch(Constants.API_ADDRESS + "/user", { - method: "GET", - - headers: { - "Content-Type": "application/json", - "X-Authorization": userSession, - }, - }) - .then((res) => { - if (res.status === 200) { - return res.json(); - } - - setUserSession(); - return Promise.reject(res.status); - }) - .then((data) => setUserData(data)) - .catch(console.error); - }, []); - if (!userSession) { return ; } @@ -47,7 +24,11 @@ export default function App() { return ( - + diff --git a/src/utils.js b/src/utils.js index 92dd28d..6fc3b6d 100644 --- a/src/utils.js +++ b/src/utils.js @@ -60,10 +60,16 @@ export const WebSocketTestContext = createContext(webSocketContextPreview); // commands received from the backend server const ReceivedMessagesCommands = { - UpdateConnectedUsers: 1, + InitUserSocketConnection: 1, + UpdateConnectedUsers: 2, }; -export function WebSocketProvider({ children, userSession }) { +export function WebSocketProvider({ + children, + userSession, + setUserSession, + setUserData, +}) { const [isReady, setIsReady] = useState(false); const [connectionBadgeStatus, setConnectionBadgeStatus] = useState("error"); const [connectedWebSocketUsersCount, setConnectedWebSocketUsersCount] = @@ -88,6 +94,9 @@ export function WebSocketProvider({ children, userSession }) { const body = data.Body; switch (cmd) { + case ReceivedMessagesCommands.InitUserSocketConnection: + setUserData(body); + break; case ReceivedMessagesCommands.UpdateConnectedUsers: setConnectedWebSocketUsersCount(body); break; @@ -97,7 +106,14 @@ export function WebSocketProvider({ children, userSession }) { socket.onclose = (event) => { setIsReady(false); setConnectionBadgeStatus("error"); - console.log("closed", event.reason.code); + console.log("closed", event); + + // custom code defined by the backend server + if (event.code === 4001) { + setUserSession(); + window.location.href = "/"; + return; + } if (event.reason.code === 1005) return;