import { useState, useEffect } from 'react'
import { ChevronLeft, ChevronRight, Edit3, Bookmark } from 'lucide-react'
import ProgressTracker from './ProgressTracker'
import QuizComponent from './QuizComponent'
import CommentSection from './CommentSection'
import RatingComponent from './RatingComponent'
import ImageGallery from './ImageGallery'
import VideoPlayer from './VideoPlayer'
import CodeBlock from './CodeBlock'
import QuoteBox from './QuoteBox'
export default function InteractiveBook({ content, components, currentPage, onPageChange, onEdit }) {
const [pages, setPages] = useState([])
const [bookmarks, setBookmarks] = useState(new Set())
useEffect(() => {
if (content) {
const paragraphs = content.split('\n\n').filter(p => p.trim())
setPages(paragraphs)
}
}, [content])
const toggleBookmark = (pageIndex) => {
setBookmarks(prev => {
const newBookmarks = new Set(prev)
if (newBookmarks.has(pageIndex)) {
newBookmarks.delete(pageIndex)
} else {
newBookmarks.add(pageIndex)
}
return newBookmarks
})
}
const renderComponent = (component, index) => {
const props = {
key: component.id,
data: component.data,
onUpdate: (newData) => {
// Update component data logic would go here
}
}
switch (component.type) {
case 'quiz':
return
{pages[currentPage]}