This repository has no description
1.1 kB
36 lines
1import { useMutation, useQueryClient } from '@tanstack/react-query';
2import { removeCardFromCollection } from '../dal';
3import { collectionKeys } from '@/features/collections/lib/collectionKeys';
4
5export default function useRemoveCardFromCollections() {
6 const queryClient = useQueryClient();
7
8 const mutation = useMutation({
9 mutationFn: ({
10 cardId,
11 collectionIds,
12 }: {
13 cardId: string;
14 collectionIds: string[];
15 }) => {
16 return removeCardFromCollection({ cardId, collectionIds });
17 },
18
19 onSuccess: (_data, variables) => {
20 queryClient.invalidateQueries({ queryKey: collectionKeys.infinite() });
21 queryClient.invalidateQueries({ queryKey: collectionKeys.mine() });
22 queryClient.invalidateQueries({ queryKey: collectionKeys.all() });
23
24 variables.collectionIds.forEach((id) => {
25 queryClient.invalidateQueries({
26 queryKey: collectionKeys.collection(id),
27 });
28 queryClient.invalidateQueries({
29 queryKey: collectionKeys.infinite(id),
30 });
31 });
32 },
33 });
34
35 return mutation;
36}