'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { Card, CardHeader, CardTitle, CardDescription, CardContent, Button, DateInput, Input, } from '@/components/ui'; import { createGifMoodSession } from '@/actions/gif-mood'; import { GIF_MOOD_MAX_ITEMS } from '@/lib/types'; export default function NewGifMoodPage() { const router = useRouter(); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const [selectedDate, setSelectedDate] = useState(new Date().toISOString().split('T')[0]); const [title, setTitle] = useState( () => `GIF Mood - ${new Date().toLocaleDateString('fr-FR', { day: 'numeric', month: 'long', year: 'numeric' })}` ); async function handleSubmit(e: React.FormEvent) { e.preventDefault(); setError(null); setLoading(true); const date = selectedDate ? new Date(selectedDate) : undefined; if (!title) { setError('Veuillez remplir le titre'); setLoading(false); return; } const result = await createGifMoodSession({ title, date }); if (!result.success) { setError(result.error || 'Une erreur est survenue'); setLoading(false); return; } router.push(`/gif-mood/${result.data?.id}`); } return (
🎞️ Nouveau GIF Mood Board Créez un tableau de bord GIF pour exprimer et partager votre humeur avec votre équipe
{error && (
{error}
)} setTitle(e.target.value)} required /> setSelectedDate(e.target.value)} required />

Comment ça marche ?

  1. Partagez la session avec votre équipe
  2. Chaque membre peut ajouter jusqu'à {GIF_MOOD_MAX_ITEMS} GIFs
  3. Ajoutez une note à chaque GIF pour expliquer votre humeur
  4. Les GIFs apparaissent en temps réel pour tous les membres
); }