summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/hooks
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-29 10:42:08 -0600
committerAdam <[email protected]>2025-12-29 10:42:48 -0600
commit5f074edc3a2ca80db4fd51360304bc070279a218 (patch)
tree135342ae17241e33bc4d40e625b876fb8d3ad54c /packages/ui/src/hooks
parent56b5cdf88316af25a58215de899f90eea23db9b9 (diff)
downloadopencode-5f074edc3a2ca80db4fd51360304bc070279a218.tar.gz
opencode-5f074edc3a2ca80db4fd51360304bc070279a218.zip
fix(desktop): performance/jankiness
Diffstat (limited to 'packages/ui/src/hooks')
-rw-r--r--packages/ui/src/hooks/use-filtered-list.tsx10
1 files changed, 9 insertions, 1 deletions
diff --git a/packages/ui/src/hooks/use-filtered-list.tsx b/packages/ui/src/hooks/use-filtered-list.tsx
index 76a5ae84f..416f030ef 100644
--- a/packages/ui/src/hooks/use-filtered-list.tsx
+++ b/packages/ui/src/hooks/use-filtered-list.tsx
@@ -51,9 +51,17 @@ export function useFilteredList<T>(props: FilteredListProps<T>) {
)
})
+ function initialActive() {
+ if (props.current) return props.key(props.current)
+
+ const items = flat()
+ if (items.length === 0) return ""
+ return props.key(items[0])
+ }
+
const list = createList({
items: () => flat().map(props.key),
- initialActive: props.current ? props.key(props.current) : props.key(flat()[0]),
+ initialActive: initialActive(),
loop: true,
})