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

View File

@@ -27,9 +27,9 @@ const resourceType = 'collection';
let allItems: Collection[] = []; let allItems: Collection[] = [];
let search = new FuzzySearch(); let search = new FuzzySearch();
let tagSelect: Choices; let tagSelect: Choices;
let currentFilters = { let currentFilters = {
tags: [] as string[], tags: [] as string[],
featured: false featured: false
}; };
function applyFiltersAndRender(): void { function applyFiltersAndRender(): void {
@@ -78,7 +78,7 @@ function renderItems(items: Collection[], query = ''): void {
</div> </div>
</div> </div>
<div class="resource-actions"> <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>
</div> </div>
`).join(''); `).join('');
@@ -105,7 +105,7 @@ export async function initCollectionsPage(): Promise<void> {
} }
allItems = data.items; allItems = data.items;
// Map collection items to search items // Map collection items to search items
const searchItems: SearchItem[] = allItems.map(item => ({ const searchItems: SearchItem[] = allItems.map(item => ({
...item, ...item,
@@ -123,7 +123,7 @@ export async function initCollectionsPage(): Promise<void> {
applyFiltersAndRender(); applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200)); searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
featuredCheckbox?.addEventListener('change', () => { featuredCheckbox?.addEventListener('change', () => {
currentFilters.featured = featuredCheckbox.checked; currentFilters.featured = featuredCheckbox.checked;
applyFiltersAndRender(); applyFiltersAndRender();
@@ -136,7 +136,7 @@ export async function initCollectionsPage(): Promise<void> {
if (searchInput) searchInput.value = ''; if (searchInput) searchInput.value = '';
applyFiltersAndRender(); applyFiltersAndRender();
}); });
setupModal(); setupModal();
} }

View File

@@ -74,7 +74,7 @@ function renderItems(items: Instruction[], query = ''): void {
<div class="resource-actions"> <div class="resource-actions">
${getInstallDropdownHtml('instructions', item.path, true)} ${getInstallDropdownHtml('instructions', item.path, true)}
${getActionButtonsHtml(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 GitHub
</a> </a>
</div> </div>
@@ -113,14 +113,14 @@ export async function initInstructionsPage(): Promise<void> {
applyFiltersAndRender(); applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200)); searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
clearFiltersBtn?.addEventListener('click', () => { clearFiltersBtn?.addEventListener('click', () => {
currentFilters = { extensions: [] }; currentFilters = { extensions: [] };
extensionSelect.removeActiveItems(); extensionSelect.removeActiveItems();
if (searchInput) searchInput.value = ''; if (searchInput) searchInput.value = '';
applyFiltersAndRender(); applyFiltersAndRender();
}); });
setupModal(); setupModal();
setupDropdownCloseHandlers(); setupDropdownCloseHandlers();
setupActionHandlers(); setupActionHandlers();

View File

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

View File

@@ -35,9 +35,9 @@ const resourceType = 'skill';
let allItems: Skill[] = []; let allItems: Skill[] = [];
let search = new FuzzySearch(); let search = new FuzzySearch();
let categorySelect: Choices; let categorySelect: Choices;
let currentFilters = { let currentFilters = {
categories: [] as string[], categories: [] as string[],
hasAssets: false hasAssets: false
}; };
function applyFiltersAndRender(): void { function applyFiltersAndRender(): void {
@@ -93,7 +93,7 @@ function renderItems(items: Skill[], query = ''): void {
</svg> </svg>
Download Download
</button> </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>
</div> </div>
`).join(''); `).join('');
@@ -132,7 +132,7 @@ async function downloadSkill(skillId: string, btn: HTMLButtonElement): Promise<v
try { try {
const zip = new JSZip(); const zip = new JSZip();
const folder = zip.folder(skill.id); const folder = zip.folder(skill.id);
const fetchPromises = skill.files.map(async (file) => { const fetchPromises = skill.files.map(async (file) => {
const url = getRawGitHubUrl(file.path); const url = getRawGitHubUrl(file.path);
try { try {
@@ -198,7 +198,7 @@ export async function initSkillsPage(): Promise<void> {
applyFiltersAndRender(); applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200)); searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
hasAssetsCheckbox?.addEventListener('change', () => { hasAssetsCheckbox?.addEventListener('change', () => {
currentFilters.hasAssets = hasAssetsCheckbox.checked; currentFilters.hasAssets = hasAssetsCheckbox.checked;
applyFiltersAndRender(); applyFiltersAndRender();
@@ -211,7 +211,7 @@ export async function initSkillsPage(): Promise<void> {
if (searchInput) searchInput.value = ''; if (searchInput) searchInput.value = '';
applyFiltersAndRender(); applyFiltersAndRender();
}); });
setupModal(); setupModal();
} }