eBay Extras

Replaces default navigation buttons, adds a notification bar when searching for 'US only' or when searching for 'Sold items', removes certain ads

Terá de instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

Terá de instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Terá de instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Terá de instalar uma extensão como Tampermonkey para instalar este script.

Terá de instalar uma extensão de gestão de scripts de utilizador para instalar este script.

(Já tenho um gestor de scripts de utilizador, deixe-me instalá-lo!)

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão como Stylus para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

Terá de instalar uma extensão de gestão de estilos de utilizador para instalar este estilo.

(Já tenho um gestor de estilos de utilizador, deixe-me instalá-lo!)

// ==UserScript==
// @name            eBay Extras
// @version         1.4
// @description     Replaces default navigation buttons, adds a notification bar when searching for 'US only' or when searching for 'Sold items', removes certain ads
// @author          asheroto
// @license         MIT
// @icon            https://www.ebay.com/favicon.ico
// @match           https://*.ebay.com/*
// @namespace       https://greasyfork.org/en/scripts/388337-ebay-extras
// @grant           GM_addElement
// ==/UserScript==

// ==OpenUserScript==
// @author          asheroto
// ==/OpenUserScript==

/* jshint esversion: 6 */

(function () {
  // Function: insert nav buttons
  function addLink(text, url) {
    let bodChild = document.createElement("li");
    bodChild.classList.add("gh-t");
    bodChild.classList.add("gh-divider-l");
    bodChild.id = "gh-p-3";
    bodChild.innerHTML = '<a href="' + url + '" class="gh-p"> ' + text + "</a>";
    document.getElementById("gh-p-3").parentNode.insertBefore(bodChild, document.getElementById("gh-p-3").nextSibling);
  }
  // Function: for top bar
  function addTopBar(atext) {
    let elChild = document.createElement("div");
    elChild.style.background = "black";
    elChild.style.color = "white";
    elChild.innerHTML = "<center><font size=4>" + atext + "</font></center>";
    document.body.insertBefore(elChild, document.body.firstChild);
  }
  // Function: try to remove item
  function tryRemove(itm) {
    if (itm) {
      try {
        itm.remove();
      }
      catch (err) {}
    }
  }

  // Insert nav buttons
  addLink("Orders", "https://www.ebay.com/sh/ord/?filter=status:ALL_ORDERS");
  addLink("Active Listings", "https://www.ebay.com/sh/lst/active");
  addLink("Purchases", "https://www.ebay.com/myb/PurchaseHistory");
  addLink("Watch List", "https://www.ebay.com/myb/WatchList");
  addLink("Messages", "https://mesg.ebay.com/mesgweb/ViewMessages/0");

  // If on a category or search, and on a sold/unsold page, then show unsold link / show sold link
  if (document.location.pathname.startsWith("/e/") || document.location.pathname.startsWith("/sch/")) {
    if (document.location.href.includes("&LH_Sold=1")) {
      addLink("This page > unsold items", document.location.href.replace("&LH_Sold=1", "").replace("&LH_Complete=1", ""));
    }
    else {
      addLink("This page > sold items", document.location + "&LH_Sold=1&LH_Complete=1");
    }
  }

  // If username is detected, show feedback link
  let userId = document.body.innerHTML.match(/id:"(.*?)"}/);
  if (userId) {
    let userFeedbackId = userId[1];
    addLink("My Feedback", "https://feedback.ebay.com/ws/eBayISAPI.dll?ViewFeedback2&ftab=AllFeedback&userid=" + userFeedbackId);
  }

  // Additional nav buttons
  addLink("Leave Feedback", "https://www.ebay.com/fdbk/leave_feedback");
  addLink("Account Settings", "https://my.ebay.com/ws/eBayISAPI.dll?MyEbay&CurrentPage=MyeBayMyAccounts&ssPageName=STRK:ME:MAX");

  // Hide ads
  document.getElementById("gh-p-4").style.display = "none";
  document.getElementById("gh-p-1").style.display = "none";
  document.getElementById("gh-p-3").style.display = "none";

  window.onload = function () {
    // Remove ads
    tryRemove(document.getElementById("gh-ti"));
    tryRemove(document.getElementsByClassName("topRtm")[0]);
    tryRemove(document.getElementsByClassName("hl-leaderboard-ad")[0]);
    tryRemove(document.getElementsByClassName("leaderboard_ad"));
    tryRemove(document.getElementById("myEbayBody"));
    tryRemove(document.getElementsByClassName("vi-lb-placeholder"));
    tryRemove(document.querySelector(".srp-1p__link"));
  };

  // Notify if searching US only
  if (window.location.toString().includes("LH_PrefLoc=1")) {
    addTopBar("Showing items from USA");
  }

  // Notify if searching sold items
  if (window.location.toString().includes("LH_Sold=1")) {
    addTopBar("Showing Sold + Completed Items");
  }
})();