From 32b3cb0174b26a3746e63c94524000e9f4c66af5 Mon Sep 17 00:00:00 2001 From: nicad <36125594+PBnicad@users.noreply.github.com> Date: Mon, 27 Jul 2026 12:42:47 +0800 Subject: [PATCH] fix(web): replace native select dropdowns with a design-system listbox --- .changeset/web-select-dropdown-style.md | 5 + .../components/settings/ProviderManager.vue | 5 +- .../components/settings/SettingsDialog.vue | 31 +- apps/kimi-web/src/components/ui/Select.vue | 390 ++++++++++++++++-- apps/kimi-web/src/debug/KapDebugView.vue | 45 +- apps/kimi-web/src/views/DesignSystemView.vue | 19 +- 6 files changed, 422 insertions(+), 73 deletions(-) create mode 100644 .changeset/web-select-dropdown-style.md diff --git a/.changeset/web-select-dropdown-style.md b/.changeset/web-select-dropdown-style.md new file mode 100644 index 0000000000..55647f2f5d --- /dev/null +++ b/.changeset/web-select-dropdown-style.md @@ -0,0 +1,5 @@ +--- +"@moonshot-ai/kimi-code": patch +--- + +web: Restyle the settings dropdowns to match the design system instead of using the browser-native option list. diff --git a/apps/kimi-web/src/components/settings/ProviderManager.vue b/apps/kimi-web/src/components/settings/ProviderManager.vue index e9316f6bd3..c9910083b9 100644 --- a/apps/kimi-web/src/components/settings/ProviderManager.vue +++ b/apps/kimi-web/src/components/settings/ProviderManager.vue @@ -61,6 +61,7 @@ const addForm = reactive({ const addError = ref(''); const PROVIDER_TYPES = ['moonshot', 'anthropic', 'openai', 'custom']; +const providerTypeOptions = PROVIDER_TYPES.map((pt) => ({ value: pt, label: pt })); function openAdd(): void { addForm.type = 'moonshot'; @@ -191,9 +192,7 @@ function statusLabel(status: AppProvider['status']): string {