import React, { useState, useEffect } from 'react' import { Search } from 'lucide-react' import { Button } from '@/components/ui/button' import SearchDialog from './SearchDialog' import { ErrorBoundary } from './ErrorBoundary' const SearchButton: React.FC = () => { const [isOpen, setIsOpen] = useState(false) // Keyboard shortcut: Cmd/Ctrl + K useEffect(() => { const handleKeyDown = (e: KeyboardEvent) => { // Don't trigger if user is typing in an input, textarea, or contenteditable const target = e.target as HTMLElement const isInput = target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable if ((e.metaKey || e.ctrlKey) && e.key === 'k' && !isInput) { e.preventDefault() setIsOpen(true) } } window.addEventListener('keydown', handleKeyDown) return () => window.removeEventListener('keydown', handleKeyDown) }, []) return ( ) } export default SearchButton