'use client' import { useState, useRef, useEffect } from 'react' import { Send } from 'lucide-react' import ReactMarkdown from 'react-markdown' export function ChatInterface() { const [messages, setMessages] = useState>([]) const [input, setInput] = useState('') const [loading, setLoading] = useState(false) const messagesEndRef = useRef(null) const scrollToBottom = () => { messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }) } useEffect(scrollToBottom, [messages]) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (!input.trim() || loading) return const userMessage = { role: 'user', content: input } setMessages(prev => [...prev, userMessage]) setInput('') setLoading(true) try { const token = localStorage.getItem('authToken') const headers: any = { 'Content-Type': 'application/json' } if (token) { headers['Authorization'] = `Bearer ${token}` } const res = await fetch('/api/chat', { method: 'POST', headers, body: JSON.stringify({ messages: [...messages, userMessage] }) }) const data = await res.json() setMessages(prev => [...prev, { role: 'assistant', content: data.response || 'Ne pare rău, nu am putut genera un răspuns.' }]) } catch (error) { console.error('Chat error:', error) setMessages(prev => [...prev, { role: 'assistant', content: 'Ne pare rău, a apărut o eroare. Vă rugăm să încercați din nou.' }]) } finally { setLoading(false) } } return (

Chat Biblic AI

Pune întrebări despre Biblie și primește răspunsuri fundamentate

{messages.length === 0 && (

Bună ziua! Sunt aici să vă ajut cu întrebările despre Biblie.

Puteți începe prin a întreba ceva despre un verset sau o temă biblică.

)} {messages.map((msg, idx) => (
{msg.role === 'assistant' ? ( {msg.content} ) : (

{msg.content}

)}
))} {loading && (
)}
setInput(e.target.value)} placeholder="Întreabă despre Biblie..." className="flex-1 px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500" disabled={loading} />
) }