UNPKG

react-ai-faq-chat

Version:

A smart AI-powered FAQ chatbot

34 lines (30 loc) 992 B
// useAIFAQChat.ts "use client"; import { useState, useCallback } from "react"; export function useAIFAQChat() { const [messages, setMessages] = useState<{ text: string; user: boolean }[]>( [] ); const [loading, setLoading] = useState(false); const sendMessage = useCallback(async (question: string) => { setLoading(true); setMessages((prev) => [...prev, { text: question, user: true }]); try { const res = await fetch("/api/chat", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ question }), }); const data = await res.json(); setMessages((prev) => [ ...prev, { text: data.answer || data.error, user: false }, ]); } catch (err: any) { setMessages((prev) => [...prev, { text: err.message, user: false }]); } finally { setLoading(false); } }, []); return { messages, sendMessage, loading }; }