diff options
-rw-r--r-- | source/features/clean-repo-tabs.tsx | 6 | ||||
-rw-r--r-- | source/features/more-dropdown-links.tsx | 13 | ||||
-rw-r--r-- | source/features/releases-tab.tsx | 2 |
3 files changed, 17 insertions, 4 deletions
diff --git a/source/features/clean-repo-tabs.tsx b/source/features/clean-repo-tabs.tsx index 54553a33..ef30d901 100644 --- a/source/features/clean-repo-tabs.tsx +++ b/source/features/clean-repo-tabs.tsx @@ -118,9 +118,11 @@ async function initProjects(): Promise<void | false> { projectsTab!.remove(); } -async function init(): Promise<void> { +async function init(): Promise<void | false> { // The user may have disabled `more-dropdown-links` so un-hide it - await unhideOverflowDropdown(); + if (!await unhideOverflowDropdown()) { + return false; + } // Wait for the nav dropdown to be loaded #5244 await elementReady('.UnderlineNav-actions ul'); diff --git a/source/features/more-dropdown-links.tsx b/source/features/more-dropdown-links.tsx index 9434f729..8efd1a78 100644 --- a/source/features/more-dropdown-links.tsx +++ b/source/features/more-dropdown-links.tsx @@ -1,5 +1,6 @@ import './more-dropdown-links.css'; import React from 'dom-chef'; +import select from 'select-dom'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; @@ -9,10 +10,17 @@ import createDropdownItem from '../github-helpers/create-dropdown-item'; import {buildRepoURL, getCurrentCommittish} from '../github-helpers'; // eslint-disable-next-line import/prefer-default-export -export async function unhideOverflowDropdown(): Promise<void> { +export async function unhideOverflowDropdown(): Promise<boolean> { // Wait for the tab bar to be loaded const repoNavigationBar = await elementReady('.UnderlineNav-body'); + + // No dropdown on mobile #5781 + if (!select.exists('.js-responsive-underlinenav')) { + return false; + } + repoNavigationBar!.parentElement!.classList.add('rgh-has-more-dropdown'); + return true; } async function init(): Promise<void> { @@ -40,6 +48,9 @@ void features.add(import.meta.url, { ], exclude: [ pageDetect.isEmptyRepo, + + // No dropdown on mobile #5781 + () => !select.exists('.js-responsive-underlinenav'), ], awaitDomReady: false, init, diff --git a/source/features/releases-tab.tsx b/source/features/releases-tab.tsx index 22a9b0b0..bc1ea276 100644 --- a/source/features/releases-tab.tsx +++ b/source/features/releases-tab.tsx @@ -65,7 +65,7 @@ async function addReleasesTab(): Promise<false | void> { data-selected-links="repo_releases" data-tab-item="rgh-releases-item" > - <TagIcon className="UnderlineNav-octicon"/> + <TagIcon className="UnderlineNav-octicon d-none d-sm-inline"/> <span data-content="Releases">Releases</span> {count && <span className="Counter" title={count > 999 ? String(count) : ''}>{abbreviateNumber(count)}</span>} </a> |