Merge pull request #318 from community-scripts/feat/add_repo

feat: Add multi-repository support with repository filtering
This commit is contained in:
Michel Roegl-Brunner
2025-11-13 15:42:18 +01:00
committed by GitHub
433 changed files with 2729 additions and 2936 deletions

View File

@@ -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));