'use client' import { useState, useEffect } from 'react' import { useStore } from '@/lib/store' import { BibleVerse } from '@/types' import { Bookmark } from 'lucide-react' export function BibleReader() { const { currentBook, currentChapter } = useStore() const [verses, setVerses] = useState([]) const [loading, setLoading] = useState(true) const [bookName, setBookName] = useState('') useEffect(() => { fetchChapter(currentBook, currentChapter) }, [currentBook, currentChapter]) async function fetchChapter(bookId: number, chapterNum: number) { setLoading(true) try { const res = await fetch(`/api/bible/chapter?book=${bookId}&chapter=${chapterNum}`) const data = await res.json() if (res.ok) { setVerses(data.chapter.verses) setBookName(data.chapter.bookName) } } catch (error) { console.error('Error fetching chapter:', error) } finally { setLoading(false) } } const handleVerseClick = async (verseId: string) => { const token = localStorage.getItem('authToken') if (!token) { alert('Trebuie să vă autentificați pentru a marca versete') return } try { await fetch('/api/bookmarks', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` }, body: JSON.stringify({ verseId }) }) alert('Versetul a fost marcat!') } catch (error) { console.error('Error bookmarking verse:', error) } } if (loading) { return (
) } return (

{bookName} {currentChapter}

{verses.map((verse) => ( handleVerseClick(verse.id)} title="Click pentru a marca versetul" > {verse.verseNum} {verse.text} ))}
Capitolul {currentChapter}
) }