Tweaking a label set

This commit is contained in:
Aaron Powell
2026-01-29 09:53:29 +11:00
parent d450d7d3d5
commit 63fb276a6c
5 changed files with 26 additions and 26 deletions

View File

@@ -52,7 +52,7 @@ function applyFiltersAndRender(): void {
}
if (currentFilters.tools.length > 0) {
results = results.filter(item =>
results = results.filter(item =>
item.tools?.some(tool => currentFilters.tools.includes(tool))
);
}
@@ -62,12 +62,12 @@ function applyFiltersAndRender(): void {
}
renderItems(results, query);
const activeFilters: string[] = [];
if (currentFilters.models.length > 0) activeFilters.push(`models: ${currentFilters.models.length}`);
if (currentFilters.tools.length > 0) activeFilters.push(`tools: ${currentFilters.tools.length}`);
if (currentFilters.hasHandoffs) activeFilters.push('has handoffs');
let countText = `${results.length} of ${allItems.length} agents`;
if (activeFilters.length > 0) {
countText += ` (filtered by ${activeFilters.join(', ')})`;
@@ -78,7 +78,7 @@ function applyFiltersAndRender(): void {
function renderItems(items: Agent[], query = ''): void {
const list = document.getElementById('resource-list');
if (!list) return;
if (items.length === 0) {
list.innerHTML = `
<div class="empty-state">
@@ -104,7 +104,7 @@ function renderItems(items: Agent[], query = ''): void {
<div class="resource-actions">
${getInstallDropdownHtml(resourceType, item.path, true)}
${getActionButtonsHtml(item.path, true)}
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary btn-small" target="_blank" onclick="event.stopPropagation()">
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary btn-small" target="_blank" onclick="event.stopPropagation()" title="View on GitHub">
GitHub
</a>
</div>

View File

@@ -27,9 +27,9 @@ const resourceType = 'collection';
let allItems: Collection[] = [];
let search = new FuzzySearch();
let tagSelect: Choices;
let currentFilters = {
tags: [] as string[],
featured: false
let currentFilters = {
tags: [] as string[],
featured: false
};
function applyFiltersAndRender(): void {
@@ -78,7 +78,7 @@ function renderItems(items: Collection[], query = ''): void {
</div>
</div>
<div class="resource-actions">
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary" target="_blank" onclick="event.stopPropagation()">View on GitHub</a>
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary" target="_blank" onclick="event.stopPropagation()" title="View on GitHub">GitHub</a>
</div>
</div>
`).join('');
@@ -105,7 +105,7 @@ export async function initCollectionsPage(): Promise<void> {
}
allItems = data.items;
// Map collection items to search items
const searchItems: SearchItem[] = allItems.map(item => ({
...item,
@@ -123,7 +123,7 @@ export async function initCollectionsPage(): Promise<void> {
applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
featuredCheckbox?.addEventListener('change', () => {
currentFilters.featured = featuredCheckbox.checked;
applyFiltersAndRender();
@@ -136,7 +136,7 @@ export async function initCollectionsPage(): Promise<void> {
if (searchInput) searchInput.value = '';
applyFiltersAndRender();
});
setupModal();
}

View File

@@ -74,7 +74,7 @@ function renderItems(items: Instruction[], query = ''): void {
<div class="resource-actions">
${getInstallDropdownHtml('instructions', item.path, true)}
${getActionButtonsHtml(item.path, true)}
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary btn-small" target="_blank" onclick="event.stopPropagation()">
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary btn-small" target="_blank" onclick="event.stopPropagation()" title="View on GitHub">
GitHub
</a>
</div>
@@ -113,14 +113,14 @@ export async function initInstructionsPage(): Promise<void> {
applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
clearFiltersBtn?.addEventListener('click', () => {
currentFilters = { extensions: [] };
extensionSelect.removeActiveItems();
if (searchInput) searchInput.value = '';
applyFiltersAndRender();
});
setupModal();
setupDropdownCloseHandlers();
setupActionHandlers();

View File

@@ -34,7 +34,7 @@ function applyFiltersAndRender(): void {
let results = query ? search.search(query) : [...allItems];
if (currentFilters.tools.length > 0) {
results = results.filter(item =>
results = results.filter(item =>
item.tools?.some(tool => currentFilters.tools.includes(tool))
);
}
@@ -69,7 +69,7 @@ function renderItems(items: Prompt[], query = ''): void {
<div class="resource-actions">
${getInstallDropdownHtml(resourceType, item.path, true)}
${getActionButtonsHtml(item.path, true)}
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary btn-small" target="_blank" onclick="event.stopPropagation()">
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary btn-small" target="_blank" onclick="event.stopPropagation()" title="View on GitHub">
GitHub
</a>
</div>
@@ -108,14 +108,14 @@ export async function initPromptsPage(): Promise<void> {
applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
clearFiltersBtn?.addEventListener('click', () => {
currentFilters = { tools: [] };
toolSelect.removeActiveItems();
if (searchInput) searchInput.value = '';
applyFiltersAndRender();
});
setupModal();
setupDropdownCloseHandlers();
setupActionHandlers();

View File

@@ -35,9 +35,9 @@ const resourceType = 'skill';
let allItems: Skill[] = [];
let search = new FuzzySearch();
let categorySelect: Choices;
let currentFilters = {
categories: [] as string[],
hasAssets: false
let currentFilters = {
categories: [] as string[],
hasAssets: false
};
function applyFiltersAndRender(): void {
@@ -93,7 +93,7 @@ function renderItems(items: Skill[], query = ''): void {
</svg>
Download
</button>
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary" target="_blank" onclick="event.stopPropagation()">View Folder</a>
<a href="${getGitHubUrl(item.path)}" class="btn btn-secondary" target="_blank" onclick="event.stopPropagation()" title="View on GitHub">GitHub</a>
</div>
</div>
`).join('');
@@ -132,7 +132,7 @@ async function downloadSkill(skillId: string, btn: HTMLButtonElement): Promise<v
try {
const zip = new JSZip();
const folder = zip.folder(skill.id);
const fetchPromises = skill.files.map(async (file) => {
const url = getRawGitHubUrl(file.path);
try {
@@ -198,7 +198,7 @@ export async function initSkillsPage(): Promise<void> {
applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
hasAssetsCheckbox?.addEventListener('change', () => {
currentFilters.hasAssets = hasAssetsCheckbox.checked;
applyFiltersAndRender();
@@ -211,7 +211,7 @@ export async function initSkillsPage(): Promise<void> {
if (searchInput) searchInput.value = '';
applyFiltersAndRender();
});
setupModal();
}