eBay Extras

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

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, Greasemonkey alebo Violentmonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey, % alebo Violentmonkey.

Na nainštalovanie skriptu si budete musieť nainštalovať rozšírenie, ako napríklad Tampermonkey alebo Userscripts.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie, ako napríklad Tampermonkey.

Na inštaláciu tohto skriptu je potrebné nainštalovať rozšírenie správcu používateľských skriptov.

(Už mám správcu používateľských skriptov, nechajte ma ho nainštalovať!)

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie, ako napríklad Stylus.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

Na inštaláciu tohto štýlu je potrebné nainštalovať rozšírenie správcu používateľských štýlov.

(Už mám správcu používateľských štýlov, nechajte ma ho nainštalovať!)

// ==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");
  }
})();