diff --git a/assets/src/bundles/browse/origin-search.js b/assets/src/bundles/browse/origin-search.js --- a/assets/src/bundles/browse/origin-search.js +++ b/assets/src/bundles/browse/origin-search.js @@ -5,7 +5,7 @@ * See top-level LICENSE file for more information */ -import {handleFetchError} from 'utils/functions'; +import {handleFetchError, isArchivedOrigin} from 'utils/functions'; const limit = 100; let linksPrev = []; @@ -186,13 +186,20 @@ $('#swh-no-result').text(data.reason); $('#swh-no-result').show(); }); - }); } else { - // otherwise, proceed with origins search - $('#swh-origin-search-results').show(); - $('.swh-search-pagination').show(); - searchOriginsFirst(searchQueryText, limit); + isArchivedOrigin(searchQueryText) + .then(() => { + // redirect to the browse origin + window.location.href = + `${Urls.browse_origin()}?origin_url=${encodeURIComponent(searchQueryText)}`; + }) + .catch(() => { + // otherwise, proceed with origins search irrespective of the error + $('#swh-origin-search-results').show(); + $('.swh-search-pagination').show(); + searchOriginsFirst(searchQueryText, limit); + }); } } diff --git a/assets/src/utils/functions.js b/assets/src/utils/functions.js --- a/assets/src/utils/functions.js +++ b/assets/src/utils/functions.js @@ -78,3 +78,35 @@ } return `