'use client' import { createContext, useContext, useState, useEffect, type ReactNode } from 'react' import { SearchModal } from '@/components/search-modal' interface SearchModalContextValue { open: () => void close: () => void } const SearchModalContext = createContext({ open: () => {}, close: () => {}, }) export function useSearchModal() { return useContext(SearchModalContext) } export function SearchModalProvider({ children }: { children: ReactNode }) { const [isOpen, setIsOpen] = useState(false) const open = () => setIsOpen(true) const close = () => setIsOpen(false) // Global keyboard shortcut: Ctrl+K or Cmd+K useEffect(() => { const handleKeyDown = (e: KeyboardEvent) => { if ((e.ctrlKey || e.metaKey) && e.key === 'k') { e.preventDefault() setIsOpen(prev => !prev) } } window.addEventListener('keydown', handleKeyDown) return () => window.removeEventListener('keydown', handleKeyDown) }, []) return ( {children} ) }