feat(ui): searchable model picker with provider group headers — v0.50.86 (PR #659 by @mmartial)

- Live search input in model dropdown (filter by name or ID)
- Provider group headers preserved in filtered view
- Clear button, Escape-to-close, No models found empty state
- i18n EN/ES/zh-CN strings
- CSS uses var(--accent) consistent with current theme system
- zh-CN double-escape fix included
- Provider headers regression fix included
- 1423 tests pass

Co-authored-by: mmartial <mmartial@users.noreply.github.com>
This commit is contained in:
nesquena-hermes
2026-04-18 09:27:36 -07:00
committed by GitHub
parent 5c2840e2da
commit 5266ee26bd
5 changed files with 90 additions and 21 deletions

View File

@@ -58,8 +58,9 @@ const LOCALES = {
provider_mismatch_label: 'Provider mismatch',
model_custom_label: 'Custom model ID',
model_custom_placeholder: 'e.g. openai/gpt-5.4',
model_search_placeholder: 'Search models…',
model_search_no_results: 'No models found',
// commands.js
cmd_help: 'List available commands',
cmd_clear: 'Clear conversation messages',
cmd_compress: 'Manually compress conversation context (usage: /compress [focus topic])',
cmd_compact_alias: 'Legacy alias for /compress',
@@ -481,6 +482,8 @@ const LOCALES = {
provider_mismatch_label: 'Proveedor incompatible',
model_custom_label: 'ID de modelo personalizado',
model_custom_placeholder: 'p. ej. openai/gpt-5.4',
model_search_placeholder: 'Buscar modelos…',
model_search_no_results: 'No se encontraron modelos',
// commands.js
cmd_help: 'Listar los comandos disponibles',
cmd_clear: 'Borrar los mensajes de la conversación',
@@ -1115,6 +1118,8 @@ const LOCALES = {
provider_mismatch_label: '\u63d0\u4f9b\u5546\u4e0d\u5339\u914d',
model_custom_label: '\u81ea\u5b9a\u4e49\u6a21\u578b ID',
model_custom_placeholder: '\u4f8b\u5982 openai/gpt-5.4',
model_search_placeholder: '\u641c\u7d22\u6a21\u578b\u2026',
model_search_no_results: '\u672a\u627e\u5230\u6a21\u578b',
// commands.js
cmd_help: '\u67e5\u770b\u53ef\u7528\u547d\u4ee4',
cmd_clear: '\u6e05\u7a7a\u5f53\u524d\u5bf9\u8bdd\u6d88\u606f',