/** * Hook — suggestions d'idées DeepSeek pour prolonger une rédaction en cours. * * Tâche G5 : mutation sur POST /sujets/idees. Retourne les idées, l'état * de chargement, l'erreur API et un `reset()` pour vider le cache de la * mutation (appelé à la fermeture du modal côté composant). * * Règle H : aucune logique métier — la garde `hasAccess(plan, 'tips')` * est appliquée dans SimulationForm (UX), jamais ici. */ import { useMutation } from '@tanstack/react-query' import { getIdees } from '@/entities/report/api' import type { ApiError } from '@/shared/types/api' interface FetchIdeesVariables { consigne: string contenu: string } export function useIdees() { const mutation = useMutation({ mutationFn: ({ consigne, contenu }) => getIdees(consigne, contenu), }) return { idees: mutation.data ?? null, isLoading: mutation.isPending, error: mutation.error as ApiError | null, fetchIdees: (variables: FetchIdeesVariables) => mutation.mutate(variables), reset: mutation.reset, } }