import { useMutation } from '@tanstack/react-query';
import { submitOrQueueAnonymousReport } from '../lib/offline-report-outbox';

export interface ReportLocation {
  latitude: number;
  longitude: number;
  accuracy?: number;
  region?: string;
  address?: string;
}

export function useAnonymousReport() {
  return useMutation({
    networkMode: 'always',
    mutationFn: async ({ 
      description, 
      media,
      location,
      locationConsent,
    }: { 
      description: string; 
      media: File | null;
      location?: ReportLocation;
      locationConsent: boolean;
    }) => {
      return submitOrQueueAnonymousReport({
        description,
        media,
        location,
        locationConsent,
        capturedAt: new Date().toISOString(),
      });
    },
  });
}
