Use jobs.list and derive counts from statuses

This commit is contained in:
Jamie Pine 2025-12-02 13:20:25 -08:00
parent e3ba15632f
commit 8097f5ef8a
2 changed files with 10 additions and 7 deletions

View File

@ -10,8 +10,8 @@ export function useJobCount() {
const client = useSpacedriveClient();
const { data, refetch } = useLibraryQuery({
type: "jobs.active",
input: {},
type: "jobs.list",
input: { status: null },
});
// Subscribe to job state changes and refetch when they occur
@ -47,8 +47,12 @@ export function useJobCount() {
};
}, [client, refetch]);
const jobs = data?.jobs ?? [];
const runningCount = jobs.filter(j => j.status === "running").length;
const pausedCount = jobs.filter(j => j.status === "paused").length;
return {
activeJobCount: (data?.running_count ?? 0) + (data?.paused_count ?? 0),
hasRunningJobs: (data?.running_count ?? 0) > 0,
activeJobCount: runningCount + pausedCount,
hasRunningJobs: runningCount > 0,
};
}

View File

@ -6,10 +6,9 @@ export function useJobManager() {
const [jobs, setJobs] = useState<JobListItem[]>([]);
const client = useSpacedriveClient();
// Use jobs.active which only returns in-memory active jobs
const { data, isLoading, error, refetch } = useLibraryQuery({
type: "jobs.active",
input: {},
type: "jobs.list",
input: { status: null },
});
const pauseMutation = useLibraryMutation("jobs.pause");