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
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}