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/react-app | |
| 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/react-app')
| -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) => | 
