@@ -255,10 +255,19 @@ export default function RepositoryFinder({
255255 }
256256 } ;
257257
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+
258267 const getElements = useCallback (
259268 ( searchString : string ) : ComboboxElement [ ] => {
260269 if ( isShowingExamples && ! onlyConfigurations ) {
261- return PREDEFINED_REPOS . map ( ( repo ) => ( {
270+ return filteredPredefinedRepos . map ( ( repo ) => ( {
262271 id : repo . url ,
263272 element : < PredefinedRepositoryOption repo = { repo } /> ,
264273 isSelectable : true ,
@@ -276,7 +285,7 @@ export default function RepositoryFinder({
276285
277286 if ( ! onlyConfigurations ) {
278287 // Add predefined repos to end of the list.
279- PREDEFINED_REPOS . forEach ( ( repo ) => {
288+ filteredPredefinedRepos . forEach ( ( repo ) => {
280289 if (
281290 repo . url . toLowerCase ( ) . includes ( searchString . toLowerCase ( ) ) ||
282291 repo . repoName . toLowerCase ( ) . includes ( searchString . toLowerCase ( ) )
@@ -347,7 +356,7 @@ export default function RepositoryFinder({
347356
348357 return result ;
349358 } ,
350- [ repos , hasMore , authProviders . data , onlyConfigurations , isShowingExamples ] ,
359+ [ isShowingExamples , onlyConfigurations , repos , hasMore , authProviders . data , filteredPredefinedRepos ] ,
351360 ) ;
352361
353362 return (
0 commit comments