diff --git a/src/components/LanguageSelector.vue b/src/components/LanguageSelector.vue
index de4a8482..b43373f0 100644
--- a/src/components/LanguageSelector.vue
+++ b/src/components/LanguageSelector.vue
@@ -37,9 +37,20 @@
if (event.key === "ArrowDown") {
this.selected = Math.min(this.selected + 1, this.filteredItems.length - 1)
event.preventDefault()
+ if (this.selected === this.filteredItems.length - 1) {
+ this.$refs.container.scrollIntoView({block: "end"})
+ } else {
+ this.$refs.item[this.selected].scrollIntoView({block: "nearest"})
+ }
+
} else if (event.key === "ArrowUp") {
this.selected = Math.max(this.selected - 1, 0)
event.preventDefault()
+ if (this.selected === 0) {
+ this.$refs.container.scrollIntoView({block: "start"})
+ } else {
+ this.$refs.item[this.selected].scrollIntoView({block: "nearest"})
+ }
} else if (event.key === "Enter") {
this.selectItem(this.filteredItems[this.selected].token)
event.preventDefault()
@@ -69,28 +80,38 @@
-
+