'use client';
import { propositionService } from '@/lib/services';
import { Proposition } from '@/types';
import { DeleteModal } from './base/DeleteModal';

interface DeletePropositionModalProps {
  isOpen: boolean;
  onClose: () => void;
  onSuccess: () => void;
  proposition: Proposition | null;
}

export default function DeletePropositionModal({ isOpen, onClose, onSuccess, proposition }: DeletePropositionModalProps) {
  if (!proposition) return null;

  const handleDelete = async () => {
    await propositionService.delete(proposition.id);
    onSuccess();
  };

  return (
    <DeleteModal
      isOpen={isOpen}
      onClose={onClose}
      onConfirm={handleDelete}
      title="Supprimer la proposition"
      description="Cette action est irréversible. La proposition sera définitivement supprimée."
      itemName="Proposition"
      itemDetails={
        <>
          <p className="text-sm text-slate-600 dark:text-slate-300">
            <strong>Titre :</strong> {proposition.title}
          </p>
          <p className="text-sm text-slate-600 dark:text-slate-300">
            <strong>Auteur :</strong> {proposition.author_first_name} {proposition.author_last_name}
          </p>
          <p className="text-sm text-slate-600 dark:text-slate-300">
            <strong>Email :</strong> {proposition.author_email}
          </p>
        </>
      }
      warningMessage="Cette action supprimera également tous les votes associés à cette proposition."
    />
  );
}
