Changeset 0.22.9 (#151)
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user