diff --git a/web/src/ui/composer/Autocompleter.tsx b/web/src/ui/composer/Autocompleter.tsx index 6383df5..2747e89 100644 --- a/web/src/ui/composer/Autocompleter.tsx +++ b/web/src/ui/composer/Autocompleter.tsx @@ -42,6 +42,9 @@ const positiveMod = (val: number, div: number) => (val % div + div) % div export const EmojiAutocompleter = ({ params, state, setState, setAutocomplete }: AutocompleterProps) => { const emojis = useFilteredEmojis((params.frozenQuery ?? params.query).slice(1), true) const onSelect = useEvent((index: number) => { + if (emojis.length === 0) { + return + } index = positiveMod(index, emojis.length) const emoji = emojis[index] setState({ diff --git a/web/src/ui/composer/MessageComposer.tsx b/web/src/ui/composer/MessageComposer.tsx index b6cda62..3599a50 100644 --- a/web/src/ui/composer/MessageComposer.tsx +++ b/web/src/ui/composer/MessageComposer.tsx @@ -150,10 +150,10 @@ const MessageComposer = ({ room, scrollToBottomRef, setReplyToRef }: MessageComp sendMessage(evt) } if (autocomplete && !evt.ctrlKey && !evt.altKey) { - if (!evt.shiftKey && (evt.key === "Tab" || evt.key === "Down")) { + if (!evt.shiftKey && (evt.key === "Tab" || evt.key === "ArrowDown")) { setAutocomplete({ ...autocomplete, selected: (autocomplete.selected ?? -1) + 1 }) evt.preventDefault() - } else if ((evt.shiftKey && evt.key === "Tab") || (!evt.shiftKey && evt.key === "Up")) { + } else if ((evt.shiftKey && evt.key === "Tab") || (!evt.shiftKey && evt.key === "ArrowUp")) { setAutocomplete({ ...autocomplete, selected: (autocomplete.selected ?? 0) - 1 }) evt.preventDefault() }