'use client' import { useState, useEffect } from 'react' import { Search, Close } from '@mui/icons-material' import { Box, TextField, InputAdornment, Paper, List, ListItem, ListItemButton, Typography } from '@mui/material' import { searchBooks, type SearchResult } from '@/lib/bible-search' interface SearchNavigatorProps { onNavigate: (bookId: number, chapter: number) => void } export function SearchNavigator({ onNavigate }: SearchNavigatorProps) { const [query, setQuery] = useState('') const [results, setResults] = useState([]) const [isOpen, setIsOpen] = useState(false) useEffect(() => { if (query.trim()) { setResults(searchBooks(query)) setIsOpen(true) } else { setResults([]) setIsOpen(false) } }, [query]) const handleSelect = (result: SearchResult) => { onNavigate(result.bookId, result.chapter) setQuery('') setIsOpen(false) } return ( setQuery(e.target.value)} onFocus={() => query && setIsOpen(true)} InputProps={{ startAdornment: ( ), endAdornment: query && ( setQuery('')} /> ), }} sx={{ width: '100%', '& .MuiOutlinedInput-root': { fontSize: '0.95rem', '@media (max-width: 600px)': { fontSize: '1rem' // Larger on mobile to avoid zoom } } }} /> {isOpen && results.length > 0 && ( {results.map((result, idx) => ( handleSelect(result)}> {result.reference} ))} )} ) }