- {#each toolsPanel.activeGroups as group (group.key)}
- {@const isExpanded = toolsPanel.expandedGroups.has(group.key)}
- {@const checked = toolsPanel.isGroupChecked(group)}
- {@const favicon = toolsPanel.getFavicon(group)}
+ {#each toolsPanel.categoryGroups as group (group.key)}
+ {@render groupRow(group)}
+ {/each}
-
toolsPanel.toggleGroupExpanded(group.key)}
- open={isExpanded}
- >
-
-
- {#if isExpanded}
-
- {:else}
-
- {/if}
-
-
- {#if favicon}
-
{
- (e.currentTarget as HTMLImageElement).style.display = 'none';
- }}
- src={favicon}
- />
- {/if}
-
- {group.label}
-
-
-
- {toolsPanel.getEnabledToolCount(group)}/{group.tools.length}
-
-
-
-
-
- {#snippet child({ props })}
- toolsPanel.toggleGroupByKey(group.key)}
- />
- {/snippet}
-
-
-
-
- {checked ? 'Disable' : 'Enable'}
- {group.tools.length} tool{group.tools.length !== 1 ? 's' : ''}
-
-
-
-
-
-
-
- {#each group.tools as entry (entry.key)}
- {@const enabled = toolsStore.isToolEnabled(entry.key)}
-
- {/each}
-
-
-
+ {#each toolsPanel.mcpGroups as group (group.key)}
+ {@render groupRow(group)}
{/each}
{/if}
+
+{#snippet groupRow(group: ToolGroup)}
+ {@const isExpanded = toolsPanel.expandedGroups.has(group.key)}
+ {@const checked = toolsPanel.isGroupChecked(group)}
+ {@const favicon = toolsPanel.getFavicon(group)}
+ {@const groupDisabled = toolsPanel.isGroupDisabled(group)}
+
+