Changeset 0.22.9 (#151)

This commit is contained in:
2026-03-04 17:39:22 +00:00
parent 7e26a2a261
commit 6ed76fb2d3
27 changed files with 3392 additions and 3224 deletions

View File

@@ -14,6 +14,9 @@ const ToolsToggle = (() => {
knowledge: { label: 'Knowledge Bases', icon: '📚' },
notes: { label: 'Notes', icon: '📝' },
utilities: { label: 'Utilities', icon: '🧮' },
workspace: { label: 'Workspace', icon: '🗂️' },
context: { label: 'Context', icon: '📎' },
memory: { label: 'Memory', icon: '🧠' },
browser: { label: 'Extensions', icon: '🧩' },
};
@@ -157,14 +160,15 @@ const ToolsToggle = (() => {
const state = _categoryState(cat);
const tools = _categories[cat];
const expanded = _expanded.has(cat);
const stateClass = state === 'all' ? 'enabled' : state === 'partial' ? 'partial' : '';
const switchClass = state === 'all' ? 'on' : state === 'partial' ? 'on partial' : '';
const chevron = tools.length > 1
? `<span class="tools-popup-expand ${expanded ? 'open' : ''}" data-expand="${cat}"></span>`
: '';
const labelExpand = tools.length > 1 ? ` data-expand="${cat}"` : '';
html += `<div class="tools-popup-category ${stateClass}" data-category="${cat}">
<span class="tools-popup-check"></span>
<span class="tools-popup-label">${meta.icon} ${meta.label}</span>
html += `<div class="tools-popup-category" data-category="${cat}">
<span class="tools-popup-switch ${switchClass}" data-switch="${cat}"><span class="tools-popup-switch-knob"></span></span>
<span class="tools-popup-label"${labelExpand}>${meta.icon} ${meta.label}</span>
${chevron}
</div>`;
@@ -172,8 +176,8 @@ const ToolsToggle = (() => {
if (expanded && tools.length > 1) {
for (const t of tools) {
const on = !_disabled.has(t.name);
html += `<div class="tools-popup-tool ${on ? 'enabled' : ''}" data-tool="${t.name}">
<span class="tools-popup-check"></span>
html += `<div class="tools-popup-tool" data-tool="${t.name}">
<span class="tools-popup-switch ${on ? 'on' : ''}" data-tool-switch="${t.name}"><span class="tools-popup-switch-knob"></span></span>
<span class="tools-popup-label">${t.displayName}</span>
</div>`;
}
@@ -196,23 +200,40 @@ const ToolsToggle = (() => {
popup.addEventListener('click', (e) => {
e.stopPropagation();
// Expand/collapse chevron
const expander = e.target.closest('.tools-popup-expand');
// Toggle switch on category row
const catSwitch = e.target.closest('[data-switch]');
if (catSwitch) {
_toggleCategory(catSwitch.dataset.switch);
return;
}
// Toggle switch on individual tool row
const toolSwitch = e.target.closest('[data-tool-switch]');
if (toolSwitch) {
_toggleTool(toolSwitch.dataset.toolSwitch);
return;
}
// Expand/collapse: chevron or label click on multi-tool categories
const expander = e.target.closest('[data-expand]');
if (expander) {
_toggleExpand(expander.dataset.expand);
return;
}
// Individual tool toggle
// Individual tool label (no expand, just toggle)
const toolRow = e.target.closest('.tools-popup-tool');
if (toolRow) {
_toggleTool(toolRow.dataset.tool);
return;
}
// Category toggle
// Single-tool category label click (no chevron) — toggle
const catRow = e.target.closest('.tools-popup-category');
if (catRow) _toggleCategory(catRow.dataset.category);
if (catRow) {
_toggleCategory(catRow.dataset.category);
return;
}
});
// Close on outside click