mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-10-29 18:52:45 +08:00
fix(vscode): honor collapse state during model picker search
Lets users skip past large providers like Kilo Gateway when searching, instead of scrolling through every match.
This commit is contained in:
@@ -284,9 +284,9 @@ export const ModelSelectorBase: Component<ModelSelectorBaseProps> = (props) => {
|
||||
return [...result, ...rest]
|
||||
})
|
||||
|
||||
// While a search is active, collapse state is ignored — otherwise users
|
||||
// get confusing "no results" when their match lives inside a collapsed group.
|
||||
const isGroupOpen = (key: string) => !!debouncedSearch() || !collapsed().has(key)
|
||||
// Collapse state is honored even during search so users can skip past
|
||||
// large providers (e.g. Kilo Gateway) without scrolling through every match.
|
||||
const isGroupOpen = (key: string) => !collapsed().has(key)
|
||||
|
||||
function toggleGroup(key: string) {
|
||||
setCollapsed((prev) => {
|
||||
@@ -298,9 +298,8 @@ export const ModelSelectorBase: Component<ModelSelectorBaseProps> = (props) => {
|
||||
}
|
||||
|
||||
const rows = createMemo<ModelRow[]>(() => {
|
||||
const search = !!debouncedSearch()
|
||||
const c = collapsed()
|
||||
const list = groups().flatMap((g) => (search || !c.has(g.key) ? g.rows : []))
|
||||
const list = groups().flatMap((g) => (c.has(g.key) ? [] : g.rows))
|
||||
if (!props.allowClear) return list
|
||||
return [{ key: CLEAR_KEY, kind: "clear" }, ...list]
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user