'use client';
import { campaignService } from '@/lib/services';
import { Campaign } from '@/types';
import { DeleteModal } from './base/DeleteModal';
import { MarkdownContent } from './MarkdownContent';

interface DeleteCampaignModalProps {
  isOpen: boolean;
  onClose: () => void;
  onSuccess: () => void;
  campaign: Campaign | null;
}

export default function DeleteCampaignModal({ isOpen, onClose, onSuccess, campaign }: DeleteCampaignModalProps) {
  if (!campaign) return null;

  const handleDelete = async () => {
    await campaignService.delete(campaign.id);
    onSuccess();
  };

  return (
    <DeleteModal
      isOpen={isOpen}
      onClose={onClose}
      onConfirm={handleDelete}
      title="Supprimer la campagne"
      description="Cette action est irréversible. Toutes les données associées à cette campagne seront définitivement supprimées."
      itemName="Campagne"
      itemDetails={
        <>
          <p className="text-sm text-slate-600 dark:text-slate-300">
            <strong>Titre :</strong> {campaign.title}
          </p>
          <p className="text-sm text-slate-600 dark:text-slate-300">
            <strong>Description :</strong> <MarkdownContent content={campaign.description} />
          </p>
        </>
      }
      warningMessage="Cette action supprimera également toutes les propositions et participants associés à cette campagne."
    />
  );
}
