'use client' import { useState } 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('') if (!verse || !isOpen) return null const handleAddNote = () => { if (noteText.trim()) { onAddNote(noteText) setNoteText('') } } const PanelContent = ( {/* Verse Header */} Verse {verse.verseNum} {/* Verse Text */} {verse.text} {/* Bookmark Button */} {/* 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} ) }