'use client'
import { useState, useEffect } from 'react'
import { Box, Paper, Typography, Tabs, Tab, IconButton, useMediaQuery, useTheme, TextField, Button } from '@mui/material'
import { Close, Bookmark, BookmarkBorder } from '@mui/icons-material'
import { BibleVerse } from '@/types'
interface VersDetailsPanelProps {
verse: BibleVerse | null
isOpen: boolean
onClose: () => void
isBookmarked: boolean
onToggleBookmark: () => void
onAddNote: (note: string) => void
}
export function VersDetailsPanel({
verse,
isOpen,
onClose,
isBookmarked,
onToggleBookmark,
onAddNote,
}: VersDetailsPanelProps) {
const theme = useTheme()
const isMobile = useMediaQuery(theme.breakpoints.down('sm'))
const [tabValue, setTabValue] = useState(0)
const [noteText, setNoteText] = useState('')
// Reset to Notes tab when verse changes
useEffect(() => {
setTabValue(0)
}, [verse?.id])
if (!verse || !isOpen) return null
const handleAddNote = () => {
if (noteText.trim()) {
onAddNote(noteText)
setNoteText('')
}
}
const PanelContent = (
{/* Verse Header */}
{/* Verse Text */}
{verse.text}
{/* Bookmark Button */}
: }
onClick={onToggleBookmark}
variant={isBookmarked ? 'contained' : 'outlined'}
size="small"
fullWidth={isMobile}
>
{isBookmarked ? 'Bookmarked' : 'Bookmark'}
{/* Tabs */}
setTabValue(newValue)}
variant={isMobile ? 'fullWidth' : 'standard'}
sx={{ borderBottom: 1, borderColor: 'divider' }}
>
{/* Tab Content */}
{tabValue === 0 && (
setNoteText(e.target.value)}
size="small"
sx={{ mb: 1 }}
/>
)}
{tabValue === 1 && (
Highlight colors coming soon
)}
{tabValue === 2 && (
Cross-references coming soon
)}
)
if (isMobile) {
return (
{PanelContent}
)
}
return (
{PanelContent}
)
}