diff --git a/src/hooks/useLceOnlineNotifications.ts b/src/hooks/useLceOnlineNotifications.ts index 68b2f80..270f538 100644 --- a/src/hooks/useLceOnlineNotifications.ts +++ b/src/hooks/useLceOnlineNotifications.ts @@ -1,9 +1,17 @@ import { useState, useEffect, useRef } from "react"; import { lceOnlineService } from "../services/LceOnlineService"; export function useLceOnlineNotifications() { - const [friendRequestMessage, setFriendRequestMessage] = useState(null); + const [friendRequestMessage, setFriendRequestMessage] = useState< + string | null + >(null); const [InviteMessage, setInviteMessage] = useState(null); - const [invites, setInvites] = useState>([]); + const [invites, setInvites] = useState< + Array<{ + inviteid: string; + from: { uuid: string; username: string }; + sessionid: string; + }> + >([]); const seenRequests = useRef>(new Set()); const seenInvites = useRef>(new Set()); useEffect(() => { @@ -24,12 +32,12 @@ export function useLceOnlineNotifications() { const invitesData = await lceOnlineService.getInvites(); setInvites(invitesData); invitesData.forEach((i) => { - if (!seenInvites.current.has(i.inviteid)) { - seenInvites.current.add(i.inviteid); - setInviteMessage(`${i.from.username} invited you to play!`); - } - }); - } catch { } + if (!seenInvites.current.has(i.inviteid)) { + seenInvites.current.add(i.inviteid); + setInviteMessage(`${i.from.username} invited you to play!`); + } + }); + } catch {} }; const init = async () => { @@ -39,7 +47,6 @@ export function useLceOnlineNotifications() { lists.requests.forEach((r: string) => { if (!seenRequests.current.has(r)) { seenRequests.current.add(r); - setFriendRequestMessage(`${r} wants to be friends!`); } }); } catch (e) {} @@ -47,12 +54,12 @@ export function useLceOnlineNotifications() { const invitesData = await lceOnlineService.getInvites(); setInvites(invitesData); invitesData.forEach((i) => { - if (!seenInvites.current.has(i.inviteid)) { - seenInvites.current.add(i.inviteid); - setInviteMessage(`${i.from.username} invited you to play!`); - } - }); - } catch { } + if (!seenInvites.current.has(i.inviteid)) { + seenInvites.current.add(i.inviteid); + setInviteMessage(`${i.from.username} invited you to play!`); + } + }); + } catch {} } pollInterval = setInterval(poll, 3000); };