diff --git a/apps/dispatch/app/_components/Audio/Audio.tsx b/apps/dispatch/app/_components/Audio/Audio.tsx index 9181b11c..ca8698b8 100644 --- a/apps/dispatch/app/_components/Audio/Audio.tsx +++ b/apps/dispatch/app/_components/Audio/Audio.tsx @@ -20,7 +20,6 @@ import { ConnectionQuality } from "livekit-client"; import { ROOMS } from "_data/livekitRooms"; import { useDispatchConnectionStore } from "_store/dispatch/connectionStore"; import { useSession } from "next-auth/react"; -import { dispatchSocket } from "dispatch/socket"; import { useSounds } from "_components/Audio/useSounds"; export const Audio = () => { diff --git a/apps/dispatch/app/_components/left/Chat.tsx b/apps/dispatch/app/_components/left/Chat.tsx index 579a5e17..c3bfaf7e 100644 --- a/apps/dispatch/app/_components/left/Chat.tsx +++ b/apps/dispatch/app/_components/left/Chat.tsx @@ -6,7 +6,8 @@ import { Fragment, useEffect, useState } from "react"; import { cn } from "_helpers/cn"; import { asPublicUser } from "@repo/db"; import { useQuery } from "@tanstack/react-query"; -import { getConnectedUserAPI } from "_querys/connected-user"; +import { getConnectedDispatcherAPI } from "_querys/dispatcher"; +import { getConnectedAircraftsAPI } from "_querys/aircrafts"; export const Chat = () => { const { @@ -26,20 +27,19 @@ export const Chat = () => { const [addTabValue, setAddTabValue] = useState("default"); const [message, setMessage] = useState(""); - const { data: connectedUser } = useQuery({ - queryKey: ["connected-users"], - queryFn: async () => { - const user = await getConnectedUserAPI(); - return user.filter((u) => u.userId !== session.data?.user.id); - }, + const { data: dispatcher } = useQuery({ + queryKey: ["dispatcher"], + queryFn: () => getConnectedDispatcherAPI(), + refetchInterval: 10000, + }); + const { data: aircrafts } = useQuery({ + queryKey: ["aircrafts"], + queryFn: () => getConnectedAircraftsAPI(), refetchInterval: 10000, - refetchOnWindowFocus: true, }); - useEffect(() => { - if (!session.data?.user.id) return; - setOwnId(session.data.user.id); - }, [session, setOwnId]); + const filteredDispatcher = dispatcher?.filter((d) => d.userId !== session.data?.user.id); + const filteredAircrafts = aircrafts?.filter((a) => a.userId !== session.data?.user.id); return (
@@ -75,31 +75,36 @@ export const Chat = () => { value={addTabValue} onChange={(e) => setAddTabValue(e.target.value)} > - {!connectedUser?.length && ( + {!filteredDispatcher?.length && !filteredAircrafts?.length && ( )} - {connectedUser?.length && ( - - )} + {filteredDispatcher?.length || + (filteredAircrafts?.length && ( + + ))} - {[ - ...(connectedUser?.filter( - (user, idx, arr) => arr.findIndex((u) => u.userId === user.userId) === idx, - ) || []), - ].map((user) => ( - + ))} + {filteredAircrafts?.map((aircraft) => ( + ))}