-
Notifications
You must be signed in to change notification settings - Fork 0
/
logout-from-chats.tsx
26 lines (24 loc) · 1.03 KB
/
logout-from-chats.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { useMutation, useQueryClient } from "@tanstack/react-query";
import { ChatQueries } from "../queries";
import { useContext } from "react";
import { NostrQueries } from "../nostr";
import { ChatContext } from "../chat-context-provider";
export function useLogoutFromChats() {
const queryClient = useQueryClient();
const { activeUsername, storage } = useContext(ChatContext);
return useMutation(["chats/logout-from-chats"], async () => {
storage?.removeItem("ecency_nostr_pr_" + activeUsername);
queryClient.setQueryData([NostrQueries.PUBLIC_KEY, activeUsername], "");
queryClient.setQueryData([NostrQueries.PRIVATE_KEY, activeUsername], "");
queryClient.setQueryData([ChatQueries.JOINED_CHANNELS, activeUsername], []);
queryClient.setQueryData(
[ChatQueries.ORIGINAL_JOINED_CHANNELS, activeUsername],
[],
);
queryClient.setQueryData(
[ChatQueries.ORIGINAL_DIRECT_CONTACTS, activeUsername],
[],
);
queryClient.setQueryData([ChatQueries.DIRECT_CONTACTS, activeUsername], []);
});
}