fix(app): tab should select suggestion
This commit is contained in:
@@ -550,6 +550,25 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const selectPopoverActive = () => {
|
||||||
|
if (store.popover === "at") {
|
||||||
|
const items = atFlat()
|
||||||
|
if (items.length === 0) return
|
||||||
|
const active = atActive()
|
||||||
|
const item = items.find((entry) => atKey(entry) === active) ?? items[0]
|
||||||
|
handleAtSelect(item)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (store.popover === "slash") {
|
||||||
|
const items = slashFlat()
|
||||||
|
if (items.length === 0) return
|
||||||
|
const active = slashActive()
|
||||||
|
const item = items.find((entry) => entry.id === active) ?? items[0]
|
||||||
|
handleSlashSelect(item)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
createEffect(
|
createEffect(
|
||||||
on(
|
on(
|
||||||
() => prompt.current(),
|
() => prompt.current(),
|
||||||
@@ -910,14 +929,24 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if (store.popover && (event.key === "ArrowUp" || event.key === "ArrowDown" || event.key === "Enter")) {
|
if (store.popover) {
|
||||||
if (store.popover === "at") {
|
if (event.key === "Tab") {
|
||||||
atOnKeyDown(event)
|
selectPopoverActive()
|
||||||
} else {
|
event.preventDefault()
|
||||||
slashOnKeyDown(event)
|
return
|
||||||
|
}
|
||||||
|
if (event.key === "ArrowUp" || event.key === "ArrowDown" || event.key === "Enter") {
|
||||||
|
if (store.popover === "at") {
|
||||||
|
atOnKeyDown(event)
|
||||||
|
event.preventDefault()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (store.popover === "slash") {
|
||||||
|
slashOnKeyDown(event)
|
||||||
|
}
|
||||||
|
event.preventDefault()
|
||||||
|
return
|
||||||
}
|
}
|
||||||
event.preventDefault()
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const ctrl = event.ctrlKey && !event.metaKey && !event.altKey && !event.shiftKey
|
const ctrl = event.ctrlKey && !event.metaKey && !event.altKey && !event.shiftKey
|
||||||
|
|||||||
Reference in New Issue
Block a user