fix(app): tab should select suggestion

This commit is contained in:
Adam
2026-01-21 14:10:42 -06:00
parent 7e609cc612
commit 52535654e7

View File

@@ -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