"use client"; import { useTransition } from 'react'; import { useRouter } from 'next/navigation'; import { createInterview, updateInterview } from '@/app/actions/interview'; import { Loader2, ArrowLeft, Save, Video, FileText } from 'lucide-react'; import Link from 'next/link'; import { InterviewType } from '@prisma/client'; import { toast } from 'react-hot-toast'; interface Props { initialData?: any; } export default function InterviewForm({ initialData }: Props) { const router = useRouter(); const [isPending, startTransition] = useTransition(); const handleSubmit = async (event: React.FormEvent) => { event.preventDefault(); const formData = new FormData(event.currentTarget); const data: any = { title: formData.get('title') as string, guestName: formData.get('guestName') as string, companyName: formData.get('companyName') as string, role: formData.get('role') as string, type: formData.get('type') as InterviewType, thumbnailUrl: formData.get('thumbnailUrl') as string, videoUrl: formData.get('videoUrl') as string || null, excerpt: formData.get('excerpt') as string, content: formData.get('content') as string || null, duration: formData.get('duration') as string || null, }; startTransition(async () => { const result = initialData ? await updateInterview(initialData.id, data) : await createInterview(data); if (result.success) { toast.success(initialData ? "Interview mise à jour" : "Interview créée avec succès"); router.push('/blog'); router.refresh(); } else { toast.error(result.error || "Une erreur est survenue"); } }); }; return (

{initialData ? 'Modifier l\'interview' : 'Nouvelle Interview'}