'use client' import { Search } from 'lucide-react' import { useEffect, useState, type ReactNode } from 'react' import { cn, KeyboardShortcut } from 'ui' import { SearchV2Dialog } from './SearchV2Dialog' interface SearchV2TriggerProps { className?: string placeholder?: ReactNode } export function SearchV2Trigger({ className, placeholder = 'Search...' }: SearchV2TriggerProps) { const [open, setOpen] = useState(false) useEffect(() => { function openOnKeyDown(event: globalThis.KeyboardEvent) { if (event.key === 'k' && event.metaKey) { /** * This two methods prevent, first search V1 dialog to open and second * browser propietary search commands to be fired, repectively. */ event.stopImmediatePropagation() event.preventDefault() setOpen(true) } } window.addEventListener('keydown', openOnKeyDown, { capture: true }) return () => { window.removeEventListener('keydown', openOnKeyDown, { capture: true }) } }, []) return ( <> ) }