mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-23 03:45:13 +00:00
Tweaking a label set
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user