reorganize filter query hooks and remove unused track usage mutation
This commit is contained in:
@@ -7,12 +7,11 @@ import {
|
||||
validateFilter,
|
||||
} from '../../../utils/FilterEngine'
|
||||
import {
|
||||
useFilters,
|
||||
useCreateFilter,
|
||||
useUpdateFilter,
|
||||
useDeleteFilter,
|
||||
useFilters,
|
||||
useToggleFilterPin,
|
||||
useTrackFilterUsage,
|
||||
useUpdateFilter,
|
||||
} from '../../Filters/FilterQueries'
|
||||
|
||||
export const useCustomFilters = (chores, membersData, labels, projects) => {
|
||||
@@ -24,7 +23,6 @@ export const useCustomFilters = (chores, membersData, labels, projects) => {
|
||||
const updateFilterMutation = useUpdateFilter()
|
||||
const deleteFilterMutation = useDeleteFilter()
|
||||
const togglePinMutation = useToggleFilterPin()
|
||||
const trackUsageMutation = useTrackFilterUsage()
|
||||
|
||||
const [activeFilterId, setActiveFilterId] = useState(null)
|
||||
const [tempFilter, setTempFilter] = useState(null)
|
||||
@@ -90,13 +88,9 @@ export const useCustomFilters = (chores, membersData, labels, projects) => {
|
||||
return applyFilter(chores, activeFilter, context)
|
||||
}, [chores, activeFilter, tempFilter, context])
|
||||
|
||||
const applyCustomFilter = useCallback(
|
||||
filterId => {
|
||||
setActiveFilterId(filterId)
|
||||
trackUsageMutation.mutate(filterId)
|
||||
},
|
||||
[trackUsageMutation],
|
||||
)
|
||||
const applyCustomFilter = useCallback(filterId => {
|
||||
setActiveFilterId(filterId)
|
||||
}, [])
|
||||
|
||||
const clearActiveFilter = useCallback(() => {
|
||||
setActiveFilterId(null)
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query'
|
||||
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
|
||||
import {
|
||||
GetFilters,
|
||||
GetFilterById,
|
||||
GetPinnedFilters,
|
||||
GetFiltersByUsage,
|
||||
CreateFilter,
|
||||
UpdateFilter,
|
||||
DeleteFilter,
|
||||
GetFilterById,
|
||||
GetFilters,
|
||||
GetFiltersByUsage,
|
||||
GetPinnedFilters,
|
||||
ToggleFilterPin,
|
||||
TrackFilterUsage,
|
||||
UpdateFilter,
|
||||
} from '../../utils/Fetcher'
|
||||
|
||||
// Query hook for fetching all filters
|
||||
@@ -252,43 +251,3 @@ export const useToggleFilterPin = () => {
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// Mutation hook for tracking filter usage
|
||||
export const useTrackFilterUsage = () => {
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation({
|
||||
mutationFn: async filterId => {
|
||||
try {
|
||||
const response = await TrackFilterUsage(filterId)
|
||||
if (response.ok) {
|
||||
const data = await response.json()
|
||||
return data.res || data
|
||||
}
|
||||
// Silently fail for tracking - not critical
|
||||
return null
|
||||
} catch (error) {
|
||||
console.error('Error tracking filter usage:', error)
|
||||
// Silently fail for tracking
|
||||
return null
|
||||
}
|
||||
},
|
||||
onSuccess: updatedFilter => {
|
||||
if (!updatedFilter) return
|
||||
|
||||
// Update the filters cache
|
||||
queryClient.setQueryData(['filters'], oldFilters => {
|
||||
if (!oldFilters) return [updatedFilter]
|
||||
return oldFilters.map(filter =>
|
||||
filter.id === updatedFilter.id ? updatedFilter : filter,
|
||||
)
|
||||
})
|
||||
|
||||
// Update specific filter cache
|
||||
queryClient.setQueryData(['filters', updatedFilter.id], updatedFilter)
|
||||
|
||||
// Invalidate usage-related queries
|
||||
queryClient.invalidateQueries(['filters', 'by-usage'])
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user