diff --git a/website/src/scripts/pages/agents.ts b/website/src/scripts/pages/agents.ts
index 566a7ca0..9f661a39 100644
--- a/website/src/scripts/pages/agents.ts
+++ b/website/src/scripts/pages/agents.ts
@@ -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 = `
@@ -104,7 +104,7 @@ function renderItems(items: Agent[], query = ''): void {
${getInstallDropdownHtml(resourceType, item.path, true)}
${getActionButtonsHtml(item.path, true)}
-
+
GitHub
diff --git a/website/src/scripts/pages/collections.ts b/website/src/scripts/pages/collections.ts
index 7e00d29e..776e7986 100644
--- a/website/src/scripts/pages/collections.ts
+++ b/website/src/scripts/pages/collections.ts
@@ -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 {
`).join('');
@@ -105,7 +105,7 @@ export async function initCollectionsPage(): Promise {
}
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 {
applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
-
+
featuredCheckbox?.addEventListener('change', () => {
currentFilters.featured = featuredCheckbox.checked;
applyFiltersAndRender();
@@ -136,7 +136,7 @@ export async function initCollectionsPage(): Promise {
if (searchInput) searchInput.value = '';
applyFiltersAndRender();
});
-
+
setupModal();
}
diff --git a/website/src/scripts/pages/instructions.ts b/website/src/scripts/pages/instructions.ts
index 7eba6393..8492e292 100644
--- a/website/src/scripts/pages/instructions.ts
+++ b/website/src/scripts/pages/instructions.ts
@@ -74,7 +74,7 @@ function renderItems(items: Instruction[], query = ''): void {
${getInstallDropdownHtml('instructions', item.path, true)}
${getActionButtonsHtml(item.path, true)}
-
+
GitHub
@@ -113,14 +113,14 @@ export async function initInstructionsPage(): Promise {
applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
-
+
clearFiltersBtn?.addEventListener('click', () => {
currentFilters = { extensions: [] };
extensionSelect.removeActiveItems();
if (searchInput) searchInput.value = '';
applyFiltersAndRender();
});
-
+
setupModal();
setupDropdownCloseHandlers();
setupActionHandlers();
diff --git a/website/src/scripts/pages/prompts.ts b/website/src/scripts/pages/prompts.ts
index d03edf3d..57bd3a98 100644
--- a/website/src/scripts/pages/prompts.ts
+++ b/website/src/scripts/pages/prompts.ts
@@ -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 {
${getInstallDropdownHtml(resourceType, item.path, true)}
${getActionButtonsHtml(item.path, true)}
-
+
GitHub
@@ -108,14 +108,14 @@ export async function initPromptsPage(): Promise {
applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
-
+
clearFiltersBtn?.addEventListener('click', () => {
currentFilters = { tools: [] };
toolSelect.removeActiveItems();
if (searchInput) searchInput.value = '';
applyFiltersAndRender();
});
-
+
setupModal();
setupDropdownCloseHandlers();
setupActionHandlers();
diff --git a/website/src/scripts/pages/skills.ts b/website/src/scripts/pages/skills.ts
index 491da986..4dfe2210 100644
--- a/website/src/scripts/pages/skills.ts
+++ b/website/src/scripts/pages/skills.ts
@@ -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 {
Download
- View Folder
+ GitHub
`).join('');
@@ -132,7 +132,7 @@ async function downloadSkill(skillId: string, btn: HTMLButtonElement): Promise {
const url = getRawGitHubUrl(file.path);
try {
@@ -198,7 +198,7 @@ export async function initSkillsPage(): Promise {
applyFiltersAndRender();
searchInput?.addEventListener('input', debounce(() => applyFiltersAndRender(), 200));
-
+
hasAssetsCheckbox?.addEventListener('change', () => {
currentFilters.hasAssets = hasAssetsCheckbox.checked;
applyFiltersAndRender();
@@ -211,7 +211,7 @@ export async function initSkillsPage(): Promise {
if (searchInput) searchInput.value = '';
applyFiltersAndRender();
});
-
+
setupModal();
}