Merge pull request #318 from community-scripts/feat/add_repo
feat: Add multi-repository support with repository filtering
This commit is contained in:
@@ -29,6 +29,7 @@ export function ScriptsGrid({ onInstallScript }: ScriptsGridProps) {
|
||||
searchQuery: '',
|
||||
showUpdatable: null,
|
||||
selectedTypes: [],
|
||||
selectedRepositories: [],
|
||||
sortBy: 'name',
|
||||
sortOrder: 'asc',
|
||||
});
|
||||
@@ -245,6 +246,7 @@ export function ScriptsGrid({ onInstallScript }: ScriptsGridProps) {
|
||||
filters.searchQuery?.trim() !== '' ||
|
||||
filters.showUpdatable !== null ||
|
||||
filters.selectedTypes.length > 0 ||
|
||||
filters.selectedRepositories.length > 0 ||
|
||||
filters.sortBy !== 'name' ||
|
||||
filters.sortOrder !== 'asc' ||
|
||||
selectedCategory !== null
|
||||
@@ -318,6 +320,22 @@ export function ScriptsGrid({ onInstallScript }: ScriptsGridProps) {
|
||||
});
|
||||
}
|
||||
|
||||
// Filter by repositories
|
||||
if (filters.selectedRepositories.length > 0) {
|
||||
scripts = scripts.filter(script => {
|
||||
if (!script) return false;
|
||||
const repoUrl = script.repository_url;
|
||||
|
||||
// If script has no repository_url, exclude it when filtering by repositories
|
||||
if (!repoUrl) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Only include scripts from selected repositories
|
||||
return filters.selectedRepositories.includes(repoUrl);
|
||||
});
|
||||
}
|
||||
|
||||
// Exclude newest scripts from main grid when no filters are active (they'll be shown in carousel)
|
||||
if (!hasActiveFilters) {
|
||||
const newestScriptSlugs = new Set(newestScripts.map(script => script.slug).filter(Boolean));
|
||||
|
||||
Reference in New Issue
Block a user