From 0cb0e8af9e49c3995d0c14fa0e07701e812d0dab Mon Sep 17 00:00:00 2001 From: Justin Date: Tue, 16 Aug 2022 13:54:36 -0400 Subject: [PATCH] Add ability to leave chat --- app/soapbox/features/chats/components/chat-box.tsx | 12 ++++++++++-- app/soapbox/queries/chats.ts | 10 +++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/soapbox/features/chats/components/chat-box.tsx b/app/soapbox/features/chats/components/chat-box.tsx index 2c7b4585d..ca9fa1748 100644 --- a/app/soapbox/features/chats/components/chat-box.tsx +++ b/app/soapbox/features/chats/components/chat-box.tsx @@ -41,7 +41,7 @@ const ChatBox: React.FC = ({ chat, onSetInputRef, autosize }) => { const chatMessageIds = useAppSelector(state => state.chat_message_lists.get(chat.id, ImmutableOrderedSet())); const account = useOwnAccount(); - const { createChatMessage, markChatAsRead, acceptChat } = useChat(chat.id); + const { createChatMessage, markChatAsRead, acceptChat, deleteChat } = useChat(chat.id); const [content, setContent] = useState(''); const [attachment, setAttachment] = useState(undefined); @@ -241,7 +241,15 @@ const ChatBox: React.FC = ({ chat, onSetInputRef, autosize }) => { - + + diff --git a/app/soapbox/queries/chats.ts b/app/soapbox/queries/chats.ts index a16f593af..c8ac84651 100644 --- a/app/soapbox/queries/chats.ts +++ b/app/soapbox/queries/chats.ts @@ -111,7 +111,15 @@ const useChat = (chatId: string) => { }, }); - return { createChatMessage, markChatAsRead, deleteChatMessage, acceptChat }; + const deleteChat = useMutation(() => api.delete(`/api/v1/pleroma/chats/${chatId}`), { + onSuccess(response) { + setChat(null); + queryClient.invalidateQueries(['chats', 'messages', chatId]); + queryClient.invalidateQueries(['chats']); + }, + }); + + return { createChatMessage, markChatAsRead, deleteChatMessage, acceptChat, deleteChat }; }; export { useChat, useChats, useChatMessages };