diff options
Diffstat (limited to 'source/features/deprioritize-marketplace-link.tsx')
-rw-r--r-- | source/features/deprioritize-marketplace-link.tsx | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/source/features/deprioritize-marketplace-link.tsx b/source/features/deprioritize-marketplace-link.tsx index e10472eb..3f5dafb5 100644 --- a/source/features/deprioritize-marketplace-link.tsx +++ b/source/features/deprioritize-marketplace-link.tsx @@ -1,27 +1,30 @@ import React from 'dom-chef'; import select from 'select-dom'; import onetime from 'onetime'; -import domLoaded from 'dom-loaded'; import elementReady from 'element-ready'; import * as pageDetect from 'github-url-detection'; import features from '.'; -async function init(): Promise<void> { - const marketPlaceLink = (await elementReady('.Header-link[href="/marketplace"]')); - if (marketPlaceLink) { - // The Marketplace link seems to have an additional wrapper that other links don't have https://i.imgur.com/KV9rtSq.png - marketPlaceLink.closest('.border-top, .mr-3')!.remove(); - } - - await domLoaded; - +function handleMenuOpening(): void { select.last('.header-nav-current-user ~ .dropdown-divider')!.before( <div className="dropdown-divider"/>, <a className="dropdown-item" href="/marketplace">Marketplace</a> ); } +async function init(): Promise<void> { + const marketplaceLink = await elementReady('.Header-link[href="/marketplace"]'); + if (marketplaceLink) { // On GHE it can be disabled + // The link seems to have an additional wrapper that other links don't have https://i.imgur.com/KV9rtSq.png + marketplaceLink.closest('.border-top, .mr-3')!.remove(); + + (await elementReady('[aria-label="View profile and more"]'))! + .closest('details')! + .addEventListener('toggle', handleMenuOpening, {once: true}); + } +} + void features.add(__filebasename, { exclude: [ pageDetect.isGist |