"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; import Link from "next/link"; import { useForm } from "react-hook-form"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; import { ArrowLeft, Loader2, Save } from "lucide-react"; import { toast } from "sonner"; // Type definitions interface ProjectFormData { name: string; description: string; } export default function NewProjectPage() { const router = useRouter(); const [isSubmitting, setIsSubmitting] = useState(false); const { register, handleSubmit, formState: { errors } } = useForm({ defaultValues: { name: "", description: "" } }); const onSubmit = async (data: ProjectFormData) => { setIsSubmitting(true); try { // In a real app, this would be an API call to create a new project await new Promise(resolve => setTimeout(resolve, 1000)); // Simulate a successful response with a project ID const projectId = Date.now(); toast.success("Projet créé avec succès"); router.push(`/projects/${projectId}`); } catch (error) { console.error("Error creating project:", error); toast.error("Erreur lors de la création du projet"); } finally { setIsSubmitting(false); } }; return (

Nouveau projet

Informations du projet Créez un nouveau projet pour organiser vos groupes
{errors.name && (

{errors.name.message}

)}