import { useMutation, useQueryClient } from '@tanstack/react-query';
import { syncClock } from '../lib/clock';
import { api } from './endpoints';
import { queryKeys } from './queryKeys';
import type { ScanAction, Status } from './types/status';

export function useScanAction() {
	const queryClient = useQueryClient();

	return useMutation( {
		mutationFn: ( action: ScanAction ) => api.scan( action ),
		onSuccess: ( status: Status ) => {
			syncClock( status.now );
			queryClient.setQueryData( queryKeys.status, status );
		},
	} );
}
