import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' import { activityApi } from './activityApi' type Scope = { candidate_id?: string; requisition_id?: string; application_id?: string; actor?: string; include_captured?: boolean } export function useActivities(scope: Scope) { return useQuery({ queryKey: ['recruitmatch', 'activities', scope], queryFn: () => activityApi.list(scope), }) } export function useActivitySummary(since?: string) { return useQuery({ queryKey: ['recruitmatch', 'activity-summary', since ?? ''], queryFn: () => activityApi.summary(since), }) } export function useLogActivity() { const qc = useQueryClient() return useMutation({ mutationFn: activityApi.log, onSuccess: () => { void qc.invalidateQueries({ queryKey: ['recruitmatch', 'activities'] }) void qc.invalidateQueries({ queryKey: ['recruitmatch', 'activity-summary'] }) }, }) }