This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

semble / src / webapp / features / cards / lib / mutations / useRemoveCardFromCollections.tsx
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}