43 lines
1.0 KiB
TypeScript
43 lines
1.0 KiB
TypeScript
import { useQuery } from "@tanstack/react-query";
|
|
import {
|
|
fetchActivity,
|
|
fetchCounts,
|
|
fetchLibraries,
|
|
fetchMonitoringOverview,
|
|
} from "../api/client";
|
|
|
|
export function useCounts(machineId?: string) {
|
|
return useQuery({
|
|
queryKey: ["dashboard", "counts", machineId ?? "default"],
|
|
queryFn: () => fetchCounts(machineId),
|
|
staleTime: 5 * 60 * 1000,
|
|
});
|
|
}
|
|
|
|
export function useLibraries(machineId?: string) {
|
|
return useQuery({
|
|
queryKey: ["dashboard", "libraries", machineId ?? "default"],
|
|
queryFn: () => fetchLibraries(machineId),
|
|
staleTime: 5 * 60 * 1000,
|
|
});
|
|
}
|
|
|
|
export function useActivity(machineId?: string) {
|
|
return useQuery({
|
|
queryKey: ["dashboard", "activity", machineId ?? "default"],
|
|
queryFn: () => fetchActivity(machineId),
|
|
refetchInterval: 15_000,
|
|
});
|
|
}
|
|
|
|
export function useMonitoringOverview() {
|
|
return useQuery({
|
|
queryKey: ["dashboard", "monitoring"],
|
|
queryFn: fetchMonitoringOverview,
|
|
refetchInterval: 30_000,
|
|
});
|
|
}
|
|
|
|
// Backward-compatible alias used by older code.
|
|
export const useNowPlaying = useActivity;
|