const compareResults = currentUser => (a, b) => { return ['/projects/', currentUser] .some(href => a.children[0].href.includes(href)) ? -1 : 1 } const sortChildren = ol => { const children = Array.from(ol.children) children.forEach(child => ol.removeChild(child)) children .sort(compareResults(getCurrentUser())) .forEach(child => ol.appendChild(child)) } /// Re-order the search results to list projects and the current user first let claim = 0 const sortSearchResult = () => { const searchBox = Array.from(document.getElementsByTagName('input')) .filter(input => input.name === 'repository-search')[0] if (!searchBox) { return } searchBox.onkeyup = e => { claim++ const myClaim = claim setTimeout(() => { if (claim !== myClaim) { return } const ol = getClassNameElementsArray('search-results')[0]?.firstChild sortChildren(ol) claim = 0 }, 1000) } } addFix(sortSearchResult)