import { useConstant } from 'common' import { useEffect, type PropsWithChildren } from 'react' import { useToggleCommandMenu } from './hooks/viewHooks' import { CommandContext } from '../internal/Context' import { initCommandsState } from '../internal/state/commandsState' import { initPagesState } from '../internal/state/pagesState' import { initQueryState } from '../internal/state/queryState' import { initViewState } from '../internal/state/viewState' const CommandProviderInternal = ({ children }: PropsWithChildren) => { const combinedState = useConstant(() => ({ commandsState: initCommandsState(), pagesState: initPagesState(), queryState: initQueryState(), viewState: initViewState(), })) return {children} } const CommandShortcut = () => { const toggleOpen = useToggleCommandMenu() useEffect(() => { const handleKeydown = (evt: KeyboardEvent) => { if (evt.key === 'k' && evt.metaKey) { evt.preventDefault() toggleOpen() } } document.addEventListener('keydown', handleKeydown) return () => document.removeEventListener('keydown', handleKeydown) }, [toggleOpen]) return null } const CommandProvider = ({ children }: PropsWithChildren) => ( {children} ) export { CommandProvider }