Repository navigation
Add provider filter rail to the model selector - #133
Merged
Merged
Conversation
Re-key the select content when the provider filter changes so Reka re-registers the selected item used by its scroll buttons, and focus the search input after the remount. Use null as the all-providers sentinel so a provider named all can be filtered independently.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a provider filter rail to the AI model selector dropdown. The picker now shows a narrow icon rail on the left with an "All providers" entry and one entry per provider, while the model list stays on the right. Selecting a provider filters the model list and keeps the same provider group section at the top; search continues to work within the selected provider, and the rail remains available when a search has no matches.
The rail is derived from the full model option list rather than the filtered results, so it stays stable while typing. Providers without an icon fall back to the brain icon, and the full provider label is exposed through a tooltip. The dropdown now has a minimum width of 30rem (capped at 32rem and the viewport) to make room for the rail.
Keyboard support: Tab from the search input enters the provider rail, ArrowUp/ArrowDown/Home/End move between rail items, Tab returns to the search input, and Escape closes the picker.
Changes
ui/src/formkit/AiModelSelector.vue: provider rail, provider filtering, keyboard navigation, wider picker content, and the sticky provider section retained for filtered lists.ui/src/formkit/AiModelSelector.test.ts: provider filter behavior, reset on close, and no-match rail retention.Validation
pnpm test:unit(68 files, 599 tests)pnpm type-checkpnpm lintpnpm build-onlyThe picker layout was also measured in a browser probe for long and short lists; no live Halo instance was used for visual verification.