import { useCommandsContext } from 'hooks/useCommandsContext' import CommandBarHeader from './CommandBarHeader' import { useHotkeys } from 'react-hotkeys-hook' function CommandBarReview({ stepBack }: { stepBack: () => void }) { const { commandBarState, commandBarSend } = useCommandsContext() const { context: { argumentsToSubmit, selectedCommand }, } = commandBarState useHotkeys('backspace', stepBack, { enableOnFormTags: true, enableOnContentEditable: true, }) useHotkeys( [ 'alt+1', 'alt+2', 'alt+3', 'alt+4', 'alt+5', 'alt+6', 'alt+7', 'alt+8', 'alt+9', 'alt+0', ], (_, b) => { if (b.keys && !Number.isNaN(parseInt(b.keys[0], 10))) { if (!selectedCommand?.args) return const argName = Object.keys(selectedCommand.args)[ parseInt(b.keys[0], 10) - 1 ] const arg = selectedCommand?.args[argName] commandBarSend({ type: 'Edit argument', data: { arg: { ...arg, name: argName } }, }) } }, { keyup: true, enableOnFormTags: true, enableOnContentEditable: true }, [argumentsToSubmit, selectedCommand] ) Object.keys(argumentsToSubmit).forEach((key, i) => { const arg = selectedCommand?.args ? selectedCommand?.args[key] : undefined if (!arg) return }) function submitCommand(e: React.FormEvent) { e.preventDefault() commandBarSend({ type: 'Submit command', output: argumentsToSubmit, }) } return (

Confirm {selectedCommand?.name}

{Object.entries(argumentsToSubmit).map(([key, value], i) => { const arg = selectedCommand?.args ? selectedCommand?.args[key] : undefined if (!arg) return null return ( ) })}
) } export default CommandBarReview