import { useMutation } from '@tanstack/react-query';
import api from '../lib/api-client';

export interface ReportLocation {
  latitude: number;
  longitude: number;
  accuracy?: number;
  region?: string;
  address?: string;
}

export function useAnonymousReport() {
  return useMutation({
    mutationFn: async ({ 
      description, 
      media,
      location 
    }: { 
      description: string; 
      media: File | null;
      location?: ReportLocation;
    }) => {
      const formData = new FormData();
      formData.append('description', description);
      if (media) {
        formData.append('media', media);
      }
      if (location) {
        formData.append('latitude', String(location.latitude));
        formData.append('longitude', String(location.longitude));
        if (location.accuracy) formData.append('accuracy', String(location.accuracy));
        if (location.region) formData.append('region', location.region);
        if (location.address) formData.append('address', location.address);
      }
      
      const response = await api.post('/anonymous-reports', formData, {
        headers: {
          'Content-Type': 'multipart/form-data',
        },
      });
      return response.data;
    },
  });
}
