This repository has no description
918 B
32 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
23 variables.collectionIds.forEach((id) => {
24 queryClient.invalidateQueries({
25 queryKey: collectionKeys.collection(id),
26 });
27 });
28 },
29 });
30
31 return mutation;
32}