
import { TripFormData } from "@/components/forms/schemas/tripFormSchema";
import { supabase } from "@/integrations/supabase/client";

export async function uploadTripCoverImage(coverImage: FileList | undefined): Promise<string | null> {
  if (!coverImage?.[0]) {
    return null;
  }

  const file = coverImage[0];
  console.log("Upload d'image de couverture:", file.name);

  const fileExt = file.name.split('.').pop();
  const fileName = `cover_${Date.now()}.${fileExt}`;

  const { error: uploadError, data } = await supabase.storage
    .from('covers')
    .upload(fileName, file, {
      upsert: true,
      cacheControl: '3600'
    });

  if (uploadError) {
    console.error("Erreur d'upload de cover:", uploadError);
    throw uploadError;
  }

  const { data: { publicUrl } } = supabase.storage
    .from('covers')
    .getPublicUrl(fileName);

  console.log("URL de l'image de couverture générée:", publicUrl);
  return publicUrl;
}
