From 216e21cb4fd5248bcb57393e09fec40a139a34af Mon Sep 17 00:00:00 2001 From: talksik Date: Sat, 11 Jun 2022 18:27:22 -0500 Subject: [PATCH] smooth untuning and listening to that event as well as firing well, although could need more involvement than this simplicity --- .../src/providers/ConversationProvider.tsx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/desktop/src/providers/ConversationProvider.tsx b/packages/desktop/src/providers/ConversationProvider.tsx index e44248a..b0dbc95 100644 --- a/packages/desktop/src/providers/ConversationProvider.tsx +++ b/packages/desktop/src/providers/ConversationProvider.tsx @@ -4,6 +4,7 @@ import { ServerResponseChannels, SomeoneConnectedResponse, SomeoneTunedResponse, + SomeoneUntunedFromLineResponse, TuneToLineRequest, UntuneFromLineRequest, } from '@nirvana/core/sockets/channels'; @@ -102,6 +103,22 @@ export function ConversationProvider({ children }: { children: React.ReactNode } draft[res.lineId].tunedInUsers = res.allUsers; }); }); + + $ws.on( + ServerResponseChannels.SOMEONE_UNTUNED_FROM_LINE, + (res: SomeoneUntunedFromLineResponse) => { + setConversationMap((draft) => { + if (!draft[res.lineId]) { + toast.error('no line'); + return; + } + + draft[res.lineId].tunedInUsers = draft[res.lineId].tunedInUsers.filter( + (userId) => userId !== res.userId, + ); + }); + }, + ); }, [$ws, setConversationMap]); useEffect(() => {