'use client'; import { useState } from 'react'; import { Dialog } from '@headlessui/react'; import { XMarkIcon, ExclamationTriangleIcon } from '@heroicons/react/24/outline'; import { campaignService } from '@/lib/services'; import { Campaign } from '@/types'; interface DeleteCampaignModalProps { isOpen: boolean; onClose: () => void; onSuccess: () => void; campaign: Campaign; } export default function DeleteCampaignModal({ isOpen, onClose, onSuccess, campaign }: DeleteCampaignModalProps) { const [loading, setLoading] = useState(false); const [error, setError] = useState(''); const handleDelete = async () => { console.log('Début de la suppression de la campagne:', campaign.id); setLoading(true); setError(''); try { await campaignService.delete(campaign.id); console.log('Suppression réussie, appel de onSuccess'); onSuccess(); } catch (err: any) { console.error('Erreur dans le modal de suppression:', err); const errorMessage = err?.message || err?.details || 'Erreur lors de la suppression de la campagne'; setError(`Erreur lors de la suppression de la campagne: ${errorMessage}`); } finally { setLoading(false); } }; return ( ); }