Initial Commit

This commit is contained in:
2026-04-09 23:23:31 +02:00
commit 9223e4d35f
94 changed files with 15173 additions and 0 deletions
+64
View File
@@ -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,
});
}