☰

F95 Side Menu Upgrade

Improves side menu.

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

Na inštaláciu tohto skriptu budete musieť nainštalovať rozšírenie, ako je napríklad Tampermonkey alebo Violentmonkey.

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        F95 Side Menu Upgrade
// @namespace   1330126-edexal
// @match       *://f95zone.to/*
// @grant       none
// @icon        https://external-content.duckduckgo.com/ip3/f95zone.to.ico
// @license     Unlicense
// @version     1.0.0
// @author      Edexal
// @description Improves side menu.
// @homepageURL https://sleazyfork.org/en/scripts/546346-f95-mobile-upgrade
// @supportURL  https://github.com/Edexaal/scripts/issues
// @require     https://cdn.jsdelivr.net/gh/Edexaal/scripts@2f4f36215375a30485901a0374cb58a78412ddf3/_lib/utility.js
// @require     https://cdn.jsdelivr.net/gh/Edexaal/scripts@2f4f36215375a30485901a0374cb58a78412ddf3/_lib/css.js
// ==/UserScript==
(() => {
  const BOOKMARK_LABEL = 'Bookmarks';
  Edexal.addCSS(`
  .uix_sidebarNav a.p-navEl-link:not(.mdi):not(.fa)[data-nav-id="${BOOKMARK_LABEL}"]::before {
    content: "\\f02e";
  }
  .uix_sidebarNav ul li a[data-nav-id="${BOOKMARK_LABEL}"] {
    color: ${EdexalCSS.secTxtColor} !important;
  }`);
  const EL = {sideMenu: '.uix_sidebarNav ul'};
  
  function createSideMenuBM(latestUpdateList) {
    const bookmarkList = latestUpdateList.cloneNode(true);
    const a = bookmarkList.querySelector('a');
    a.href = `${location.origin}/watched/threads?tab=bookmarks`;
    a.dataset.navId = BOOKMARK_LABEL;
    const span = a.querySelector('span');
    span.textContent = BOOKMARK_LABEL;
    return bookmarkList;
  }
  
  function upgradeSideMenu() {
    const sideMenu = Edexal.$(EL.sideMenu);
    if (!sideMenu) return;
    const latestUpdate = sideMenu.querySelector('li a[data-nav-id="LatestUpdates"]');
    if (!latestUpdate) return;
    const latestUpdateList = latestUpdate.parentElement.parentElement.parentElement;
    const bookmarkList = createSideMenuBM(latestUpdateList);
    sideMenu.prepend(latestUpdateList);
    sideMenu.prepend(bookmarkList);
  }
  
  upgradeSideMenu();
})();