summaryrefslogtreecommitdiff
path: root/extension/react-app/src/components/ComboBox.tsx
diff options
context:
space:
mode:
authorNate Sesti <sestinj@gmail.com>2023-06-19 10:09:41 -0700
committerNate Sesti <sestinj@gmail.com>2023-06-19 10:09:41 -0700
commit1e1feb20e1cc5cf76e7ee078177e8a4ff8bd043d (patch)
tree21774d05e02df5b65b44e5c6d41c3bfc7135ec55 /extension/react-app/src/components/ComboBox.tsx
parentf16134d0e20b07a881478d7af07e447981a66f47 (diff)
downloadsncontinue-1e1feb20e1cc5cf76e7ee078177e8a4ff8bd043d.tar.gz
sncontinue-1e1feb20e1cc5cf76e7ee078177e8a4ff8bd043d.tar.bz2
sncontinue-1e1feb20e1cc5cf76e7ee078177e8a4ff8bd043d.zip
fix up/down arrow key behavior in main entry
Diffstat (limited to 'extension/react-app/src/components/ComboBox.tsx')
-rw-r--r--extension/react-app/src/components/ComboBox.tsx20
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) =>