'use client' import { memo, useState, useEffect } from 'react' import { Search, X } from 'lucide-react' import { useSearch } from '@/hooks' interface SearchBarProps { onSearch: (query: string) => void placeholder?: string debounceMs?: number initialValue?: string } function SearchBar({ onSearch, placeholder = 'Search tasks...', debounceMs = 300, initialValue = '' }: SearchBarProps) { const [mounted, setMounted] = useState(false) const { query, setQuery, clearSearch, isDebouncing } = useSearch({ debounceMs, onSearch }) useEffect(() => { setMounted(true) }, []) return (