From ba419bf2f1fb9bae938488b97741c3f9103d720b Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Thu, 27 Aug 2026 06:44:44 +0200 Subject: [PATCH] ui: indeterminate group checkboxes and inert grayed rows A category that is on with nothing enabled under it now shows the mixed checkbox state instead of a checked box next to 0/N. Rows grayed out by a disabled parent no longer stay clickable behind opacity. Assisted-by: pi --- .../ChatFormActionAdd/ChatFormActionAddSheet.svelte | 6 +++++- .../ChatFormActionAdd/ChatFormActionAddToolsSubmenu.svelte | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddSheet.svelte b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddSheet.svelte index 761ce8052c..762cc1386f 100644 --- a/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddSheet.svelte +++ b/tools/ui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionAdd/ChatFormActionAddSheet.svelte @@ -252,11 +252,14 @@ {#snippet sheetGroupRow(group: ToolGroup)} {@const checked = toolsPanel.isGroupChecked(group)} {@const enabledCount = toolsPanel.getEnabledToolCount(group)} + // parent on but nothing under it enabled, or partially enabled: show mixed state + {@const indeterminate = + group.tools.length > 0 && (enabledCount === 0 ? checked : enabledCount < group.tools.length)} {@const favicon = toolsPanel.getFavicon(group)} {@const groupDisabled = toolsPanel.isGroupDisabled(group)}