Close command bar and make open button disabled on pause
This commit is contained in:
		@ -1,6 +1,8 @@
 | 
			
		||||
import { Dialog, Popover, Transition } from '@headlessui/react'
 | 
			
		||||
import { Fragment, useEffect } from 'react'
 | 
			
		||||
import { useCommandsContext } from 'hooks/useCommandsContext'
 | 
			
		||||
import { useNetworkContext } from 'hooks/useNetworkContext'
 | 
			
		||||
import { EngineConnectionStateType } from 'lang/std/engineConnection'
 | 
			
		||||
import CommandBarArgument from './CommandBarArgument'
 | 
			
		||||
import CommandComboBox from '../CommandComboBox'
 | 
			
		||||
import CommandBarReview from './CommandBarReview'
 | 
			
		||||
@ -14,6 +16,7 @@ export const COMMAND_PALETTE_HOTKEY = 'mod+k'
 | 
			
		||||
export const CommandBar = () => {
 | 
			
		||||
  const { pathname } = useLocation()
 | 
			
		||||
  const { commandBarState, commandBarSend } = useCommandsContext()
 | 
			
		||||
  const { immediateState } = useNetworkContext()
 | 
			
		||||
  const {
 | 
			
		||||
    context: { selectedCommand, currentArgument, commands },
 | 
			
		||||
  } = commandBarState
 | 
			
		||||
@ -25,6 +28,12 @@ export const CommandBar = () => {
 | 
			
		||||
    commandBarSend({ type: 'Close' })
 | 
			
		||||
  }, [pathname])
 | 
			
		||||
 | 
			
		||||
  useEffect(() => {
 | 
			
		||||
    if (immediateState.type !== EngineConnectionStateType.ConnectionEstablished) {
 | 
			
		||||
      commandBarSend({ type: 'Close' })
 | 
			
		||||
    }
 | 
			
		||||
  }, [immediateState])
 | 
			
		||||
 | 
			
		||||
  // Hook up keyboard shortcuts
 | 
			
		||||
  useHotkeyWrapper([COMMAND_PALETTE_HOTKEY], () => {
 | 
			
		||||
    if (commandBarState.context.commands.length === 0) return
 | 
			
		||||
 | 
			
		||||
@ -1,14 +1,21 @@
 | 
			
		||||
import { useEffect } from 'react'
 | 
			
		||||
import { useCommandsContext } from 'hooks/useCommandsContext'
 | 
			
		||||
import usePlatform from 'hooks/usePlatform'
 | 
			
		||||
import { hotkeyDisplay } from 'lib/hotkeyWrapper'
 | 
			
		||||
import { COMMAND_PALETTE_HOTKEY } from './CommandBar/CommandBar'
 | 
			
		||||
import { useNetworkContext } from 'hooks/useNetworkContext'
 | 
			
		||||
import { EngineConnectionStateType } from 'lang/std/engineConnection'
 | 
			
		||||
 | 
			
		||||
export function CommandBarOpenButton() {
 | 
			
		||||
  const { commandBarSend } = useCommandsContext()
 | 
			
		||||
  const { immediateState } = useNetworkContext()
 | 
			
		||||
  const platform = usePlatform()
 | 
			
		||||
 | 
			
		||||
  const isDisabled = immediateState.type !== EngineConnectionStateType.ConnectionEstablished
 | 
			
		||||
 | 
			
		||||
  return (
 | 
			
		||||
    <button
 | 
			
		||||
      disabled={isDisabled}
 | 
			
		||||
      className="group rounded-full flex items-center justify-center gap-2 px-2 py-1 bg-primary/10 dark:bg-chalkboard-90 dark:backdrop-blur-sm border-primary hover:border-primary dark:border-chalkboard-50 dark:hover:border-inherit text-primary dark:text-inherit"
 | 
			
		||||
      onClick={() => commandBarSend({ type: 'Open' })}
 | 
			
		||||
      data-testid="command-bar-open-button"
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user