summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/hooks
diff options
context:
space:
mode:
authorDavid Hill <[email protected]>2025-12-11 13:10:46 +0000
committerDavid Hill <[email protected]>2025-12-11 13:10:46 +0000
commiteb6596cb97b83e161adf50d96306836eaad4a02c (patch)
tree20dd2213a95e52f95aae8019f6008b526370c536 /packages/ui/src/hooks
parent8fcd31f3538253a9fa2055e0738d496eabc85e93 (diff)
parentdfdd1c9b20eda2fbac08505523832eca1bb8927e (diff)
downloadopencode-eb6596cb97b83e161adf50d96306836eaad4a02c.tar.gz
opencode-eb6596cb97b83e161adf50d96306836eaad4a02c.zip
Merge branch 'dev' of https://github.com/sst/opencode into dev
Diffstat (limited to 'packages/ui/src/hooks')
-rw-r--r--packages/ui/src/hooks/use-filtered-list.tsx7
1 files changed, 4 insertions, 3 deletions
diff --git a/packages/ui/src/hooks/use-filtered-list.tsx b/packages/ui/src/hooks/use-filtered-list.tsx
index e0cb6e7aa..f9745918a 100644
--- a/packages/ui/src/hooks/use-filtered-list.tsx
+++ b/packages/ui/src/hooks/use-filtered-list.tsx
@@ -12,7 +12,7 @@ export interface FilteredListProps<T> {
groupBy?: (x: T) => string
sortBy?: (a: T, b: T) => number
sortGroupsBy?: (a: { category: string; items: T[] }, b: { category: string; items: T[] }) => number
- onSelect?: (value: T | undefined) => void
+ onSelect?: (value: T | undefined, index: number) => void
}
export function useFilteredList<T>(props: FilteredListProps<T>) {
@@ -63,8 +63,9 @@ export function useFilteredList<T>(props: FilteredListProps<T>) {
const onKeyDown = (event: KeyboardEvent) => {
if (event.key === "Enter") {
event.preventDefault()
- const selected = flat().find((x) => props.key(x) === list.active())
- if (selected) props.onSelect?.(selected)
+ const selectedIndex = flat().findIndex((x) => props.key(x) === list.active())
+ const selected = flat()[selectedIndex]
+ if (selected) props.onSelect?.(selected, selectedIndex)
} else {
list.onKeyDown(event)
}