Initial Commit
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
|
||||
import { api, type TargetsParams } from '../api';
|
||||
|
||||
export function useTargets(params: TargetsParams = {}) {
|
||||
return useQuery({
|
||||
queryKey: ['targets', params],
|
||||
queryFn: () => api.targets.list(params),
|
||||
staleTime: 30_000,
|
||||
});
|
||||
}
|
||||
|
||||
export function useTarget(id: string) {
|
||||
return useQuery({
|
||||
queryKey: ['target', id],
|
||||
queryFn: () => api.targets.get(id),
|
||||
enabled: !!id,
|
||||
staleTime: 5 * 60_000,
|
||||
});
|
||||
}
|
||||
|
||||
export function useTargetVisibility(id: string) {
|
||||
return useQuery({
|
||||
queryKey: ['target-visibility', id],
|
||||
queryFn: () => api.targets.visibility(id),
|
||||
enabled: !!id,
|
||||
staleTime: 5 * 60_000,
|
||||
});
|
||||
}
|
||||
|
||||
export function useTargetCurve(id: string) {
|
||||
return useQuery({
|
||||
queryKey: ['target-curve', id],
|
||||
queryFn: () => api.targets.curve(id),
|
||||
enabled: !!id,
|
||||
staleTime: 5 * 60_000,
|
||||
});
|
||||
}
|
||||
|
||||
export function useTargetFilters(id: string) {
|
||||
return useQuery({
|
||||
queryKey: ['target-filters', id],
|
||||
queryFn: () => api.targets.filters(id),
|
||||
enabled: !!id,
|
||||
staleTime: 5 * 60_000,
|
||||
});
|
||||
}
|
||||
|
||||
export function useTargetWorkflow(id: string, filterId: string) {
|
||||
return useQuery({
|
||||
queryKey: ['target-workflow', id, filterId],
|
||||
queryFn: () => api.targets.workflow(id, filterId),
|
||||
enabled: !!id && !!filterId,
|
||||
staleTime: 60 * 60_000,
|
||||
});
|
||||
}
|
||||
|
||||
export function useTargetYearly(id: string, enabled = false) {
|
||||
return useQuery({
|
||||
queryKey: ['target-yearly', id],
|
||||
queryFn: () => api.targets.yearly(id),
|
||||
enabled: !!id && enabled,
|
||||
staleTime: 60 * 60_000,
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user