import { useState, useCallback } from 'react'; import type { ChatMessage, SuggestedQuestion } from '../types'; export function useChatMessages(initial: ChatMessage[] = []) { const [messages, setMessages] = useState(initial); const addMessage = useCallback((msg: ChatMessage) => { setMessages(prev => [...prev, msg]); }, []); const updateMessage = useCallback( (id: string, updates: Partial | ((prev: ChatMessage) => Partial)) => { setMessages(prev => prev.map(m => { if (m.id !== id) return m; const patch = typeof updates === 'function' ? updates(m) : updates; return { ...m, ...patch }; }), ); }, [], ); const appendSuggestedQuestions = useCallback( (id: string, questions: SuggestedQuestion[]) => { setMessages(prev => prev.map(m => (m.id === id ? { ...m, suggestedQuestions: questions } : m)), ); }, [], ); const clearMessages = useCallback(() => setMessages([]), []); return { messages, addMessage, updateMessage, appendSuggestedQuestions, clearMessages }; }