fix: hide Select buttons in Memory/Skills tabs when list is empty (#2906)

* fix: hide Select buttons in memory/skills tabs when list is empty

* fix: disable Select buttons instead of hiding them when list is empty

* fix: dim disabled Select button and remove focus outline

* fix: reload skills after single deletion so count and toolbar stay in sync

* fix: lower minimized-dock z-index from 10020 to 100 so modals stack above it

* Revert "fix: lower minimized-dock z-index from 10020 to 100 so modals stack above it"

This reverts commit 5b092ee6cd.
This commit is contained in:
Maruf Hasan
2026-06-07 20:29:04 +06:00
committed by GitHub
parent adbcb3763f
commit 3c924b8dee
3 changed files with 15 additions and 3 deletions
+6
View File
@@ -608,6 +608,9 @@ export function renderMemoryList() {
memoryList.innerHTML = '';
if (filtered.length === 0) {
const selectBtn = document.getElementById('memory-select-btn');
if (selectBtn) selectBtn.disabled = true;
if (selectMode) exitSelectMode();
const searchTerm = document.getElementById('memory-search')?.value?.trim() || '';
const _smiley = '<span style="vertical-align:-3px;margin-left:6px;">' + uiModule.emptyStateIcon('smiley') + '</span>';
if (searchTerm || activeCategory !== 'all') {
@@ -627,6 +630,9 @@ export function renderMemoryList() {
return;
}
const selectBtn = document.getElementById('memory-select-btn');
if (selectBtn) selectBtn.disabled = false;
filtered.forEach(memory => {
const item = document.createElement('div');
item.className = 'memory-item';
+7 -2
View File
@@ -621,10 +621,16 @@ function renderSkillsList() {
const showBuiltin = false;
if (!sorted.length && !showBuiltin) {
const selectBtn = document.getElementById('skills-select-btn');
if (selectBtn) selectBtn.disabled = true;
if (_selectMode) _exitSelectMode();
container.innerHTML = `<div style="text-align:center;opacity:0.4;padding:24px 0;font-size:11px;">${loaded ? 'No skills yet, use agent for it to auto extract them.' : 'Loading…'}</div>`;
return;
}
const selectBtn = document.getElementById('skills-select-btn');
if (selectBtn) selectBtn.disabled = false;
// Library-style cards: a compact bar that expands in-place to show the
// SKILL.md, with a footer (Delete left; Edit / Run / Approve right).
// Reuses the proven .doclib-card / .doclib-card-preview /
@@ -1067,9 +1073,8 @@ async function _deleteSkill(name, card = null) {
card.classList.add('doclib-card-deleting');
card.addEventListener('transitionend', () => card.remove(), { once: true });
setTimeout(() => { if (card.parentElement) card.remove(); }, 400);
} else {
await loadSkills();
}
await loadSkills();
uiModule.showToast('Skill deleted');
} catch (e) { uiModule.showError('Delete failed: ' + e.message); }
}
+2 -1
View File
@@ -10238,8 +10238,9 @@ textarea.memory-add-input {
}
.memory-toolbar-btn:disabled {
opacity: 1;
opacity: 0.35;
cursor: default;
outline: none;
}
.memory-toolbar-btn.spinning {
border-color: transparent;