From b15008fbcea531555b2ee9435e63aa64aaf1cb8c Mon Sep 17 00:00:00 2001 From: catlog22 Date: Thu, 25 Dec 2025 17:39:15 +0800 Subject: [PATCH] feat: Enhance Embedding Pool UI with sidebar summary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add renderEmbeddingPoolSidebar() for config summary display - Show status, target model, strategy, and provider stats - Improve visual hierarchy with icon indicators - Update sidebar rendering for embedding-pool tab 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../dashboard-js/views/api-settings.js | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/ccw/src/templates/dashboard-js/views/api-settings.js b/ccw/src/templates/dashboard-js/views/api-settings.js index bd103d48..0f560746 100644 --- a/ccw/src/templates/dashboard-js/views/api-settings.js +++ b/ccw/src/templates/dashboard-js/views/api-settings.js @@ -163,6 +163,16 @@ async function saveEmbeddingPoolConfig() { // Reload the embedding pool section await renderEmbeddingPoolMainPanel(); + + // Update sidebar summary + const sidebarContainer = document.querySelector('.api-settings-sidebar'); + if (sidebarContainer) { + const contentArea = sidebarContainer.querySelector('.provider-list, .endpoints-list, .embedding-pool-sidebar-info, .embedding-pool-sidebar-summary, .cache-sidebar-info'); + if (contentArea && contentArea.parentElement) { + contentArea.parentElement.innerHTML = renderEmbeddingPoolSidebar(); + if (window.lucide) lucide.createIcons(); + } + } } catch (err) { console.error('Failed to save embedding pool config:', err); @@ -2729,6 +2739,16 @@ async function onTargetModelChange(modelId) { // Discover providers for this model await discoverProvidersForTargetModel(modelId); renderDiscoveredProviders(); + + // Update sidebar summary + const sidebarContainer = document.querySelector('.api-settings-sidebar'); + if (sidebarContainer) { + const contentArea = sidebarContainer.querySelector('.provider-list, .endpoints-list, .embedding-pool-sidebar-info, .embedding-pool-sidebar-summary, .cache-sidebar-info'); + if (contentArea && contentArea.parentElement) { + contentArea.parentElement.innerHTML = renderEmbeddingPoolSidebar(); + if (window.lucide) lucide.createIcons(); + } + } } /**