"use client"; import { useState, useTransition } from 'react'; import { setFeaturedBusiness, removeFeaturedBusiness } from '@/app/actions/business'; import { Star, X, Loader2, Save } from 'lucide-react'; import { toast } from 'react-hot-toast'; interface Props { business: { id: string; name: string; isFeatured: boolean; founderName?: string | null; founderImageUrl?: string | null; keyMetric?: string | null; }; } export default function FeaturedModal({ business }: Props) { const [isOpen, setIsOpen] = useState(false); const [isPending, startTransition] = useTransition(); const handleToggleFeature = async (event: React.FormEvent) => { event.preventDefault(); const formData = new FormData(event.currentTarget); const data = { founderName: formData.get('founderName') as string, founderImageUrl: formData.get('founderImageUrl') as string, keyMetric: formData.get('keyMetric') as string, }; startTransition(async () => { const result = await setFeaturedBusiness(business.id, data); if (result.success) { toast.success("Entrepreneur du mois mis à jour !"); setIsOpen(false); } else { toast.error(result.error || "Une erreur est survenue"); } }); }; const handleRemove = async () => { if (confirm("Retirer cet entrepreneur du titre 'Entrepreneur du mois' ?")) { startTransition(async () => { const result = await removeFeaturedBusiness(business.id); if (result.success) { toast.success("Titre révoqué"); setIsOpen(false); } else { toast.error(result.error || "Une erreur est survenue lors de la suppression"); } }); } }; return ( <> {isOpen && (

💰 Entrepreneur du Mois

Configurez les détails pour {business.name}.

{business.isFeatured && ( )}
)} ); }