diff options
| author | Adam <[email protected]> | 2025-12-29 10:42:08 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-29 10:42:48 -0600 |
| commit | 5f074edc3a2ca80db4fd51360304bc070279a218 (patch) | |
| tree | 135342ae17241e33bc4d40e625b876fb8d3ad54c /packages/ui/src/hooks | |
| parent | 56b5cdf88316af25a58215de899f90eea23db9b9 (diff) | |
| download | opencode-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.tsx | 10 |
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, }) |
