@@ -255,10 +255,19 @@ export default function RepositoryFinder({
255
255
}
256
256
} ;
257
257
258
+ const filteredPredefinedRepos = useMemo ( ( ) => {
259
+ return PREDEFINED_REPOS . filter ( ( repo ) => {
260
+ const url = new URL ( repo . url ) ;
261
+ const isMatchingAuthProviderAvailable =
262
+ authProviders . data ?. some ( ( provider ) => provider . host === url . host ) ?? false ;
263
+ return isMatchingAuthProviderAvailable ;
264
+ } ) ;
265
+ } , [ authProviders . data ] ) ;
266
+
258
267
const getElements = useCallback (
259
268
( searchString : string ) : ComboboxElement [ ] => {
260
269
if ( isShowingExamples && ! onlyConfigurations ) {
261
- return PREDEFINED_REPOS . map ( ( repo ) => ( {
270
+ return filteredPredefinedRepos . map ( ( repo ) => ( {
262
271
id : repo . url ,
263
272
element : < PredefinedRepositoryOption repo = { repo } /> ,
264
273
isSelectable : true ,
@@ -276,7 +285,7 @@ export default function RepositoryFinder({
276
285
277
286
if ( ! onlyConfigurations ) {
278
287
// Add predefined repos to end of the list.
279
- PREDEFINED_REPOS . forEach ( ( repo ) => {
288
+ filteredPredefinedRepos . forEach ( ( repo ) => {
280
289
if (
281
290
repo . url . toLowerCase ( ) . includes ( searchString . toLowerCase ( ) ) ||
282
291
repo . repoName . toLowerCase ( ) . includes ( searchString . toLowerCase ( ) )
@@ -347,7 +356,7 @@ export default function RepositoryFinder({
347
356
348
357
return result ;
349
358
} ,
350
- [ repos , hasMore , authProviders . data , onlyConfigurations , isShowingExamples ] ,
359
+ [ isShowingExamples , onlyConfigurations , repos , hasMore , authProviders . data , filteredPredefinedRepos ] ,
351
360
) ;
352
361
353
362
return (
0 commit comments