diff options
author | Nate Sesti <sestinj@gmail.com> | 2023-06-19 10:09:41 -0700 |
---|---|---|
committer | Nate Sesti <sestinj@gmail.com> | 2023-06-19 10:09:41 -0700 |
commit | 3c0d07017e305ca4feca2b884f0e5cee8b04eed3 (patch) | |
tree | 851cd004ee39bc48aec7cb25b9d7345d6b119989 /extension | |
parent | f997b958f0c43820aadcda8663e6ea75afa874bf (diff) | |
download | sncontinue-3c0d07017e305ca4feca2b884f0e5cee8b04eed3.tar.gz sncontinue-3c0d07017e305ca4feca2b884f0e5cee8b04eed3.tar.bz2 sncontinue-3c0d07017e305ca4feca2b884f0e5cee8b04eed3.zip |
fix up/down arrow key behavior in main entry
Diffstat (limited to 'extension')
-rw-r--r-- | extension/react-app/src/components/ComboBox.tsx | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/extension/react-app/src/components/ComboBox.tsx b/extension/react-app/src/components/ComboBox.tsx index 1a3a2b90..3816cee8 100644 --- a/extension/react-app/src/components/ComboBox.tsx +++ b/extension/react-app/src/components/ComboBox.tsx @@ -145,14 +145,24 @@ const ComboBox = React.forwardRef((props: ComboBoxProps, ref) => { } else if (event.key === "Tab" && items.length > 0) { setInputValue(items[0].name); event.preventDefault(); - } else if (event.key === "ArrowUp") { + } else if ( + event.key === "ArrowUp" || + (event.key === "ArrowDown" && + event.currentTarget.value.split("\n").length > 1) + ) { + (event.nativeEvent as any).preventDownshiftDefault = true; + } else if ( + event.key === "ArrowUp" && + event.currentTarget.value.split("\n").length > 1 + ) { if (positionInHistory == 0) return; setInputValue(history[positionInHistory - 1]); setPositionInHistory((prev) => prev - 1); - } else if (event.key === "ArrowDown") { - if (positionInHistory >= history.length - 1) { - setInputValue(""); - } else { + } else if ( + event.key === "ArrowDown" && + event.currentTarget.value.split("\n").length > 1 + ) { + if (positionInHistory < history.length - 1) { setInputValue(history[positionInHistory + 1]); } setPositionInHistory((prev) => |