'use client' import { Search } from 'lucide-react' import { useRef } from 'react' import { SearchAutocomplete } from '@/components/search/search-autocomplete' interface DesktopSearchFormProps { searchQuery: string onSearchChange: (e: React.ChangeEvent) => void onInputFocus: () => void onSubmit: (e: React.FormEvent) => void showAutocomplete: boolean onAutocompleteClose: () => void onAutocompleteSelect: () => void } /** * Desktop search form component * * @param searchQuery - Current search query * @param onSearchChange - Search input change handler * @param onInputFocus - Input focus handler * @param onSubmit - Form submission handler * @param showAutocomplete - Whether autocomplete is shown * @param onAutocompleteClose - Autocomplete close handler * @param onAutocompleteSelect - Autocomplete selection handler * @returns JSX.Element - Desktop search form */ export function DesktopSearchForm({ searchQuery, onSearchChange, onInputFocus, onSubmit, showAutocomplete, onAutocompleteClose, onAutocompleteSelect }: DesktopSearchFormProps) { const searchInputRef = useRef(null) return (
) } interface MobileSearchOverlayProps { showMobileSearch: boolean searchQuery: string onSearchChange: (e: React.ChangeEvent) => void onInputFocus: () => void onSubmit: (e: React.FormEvent) => void showMobileAutocomplete: boolean onMobileSearchClose: () => void onAutocompleteSelect: () => void } /** * Mobile search overlay component * * @param showMobileSearch - Whether mobile search is shown * @param searchQuery - Current search query * @param onSearchChange - Search input change handler * @param onInputFocus - Input focus handler * @param onSubmit - Form submission handler * @param showMobileAutocomplete - Whether mobile autocomplete is shown * @param onMobileSearchClose - Mobile search close handler * @param onAutocompleteSelect - Autocomplete selection handler * @returns JSX.Element - Mobile search overlay */ export function MobileSearchOverlay({ showMobileSearch, searchQuery, onSearchChange, onInputFocus, onSubmit, showMobileAutocomplete, onMobileSearchClose, onAutocompleteSelect }: MobileSearchOverlayProps) { const mobileSearchInputRef = useRef(null) if (!showMobileSearch) return null return ( <> {/* Backdrop */} onMobileSearchClose()} anchorRef={mobileSearchInputRef} onSelect={onAutocompleteSelect} /> ) }