RYMAlbumYouTubeSearchFromMediaLinks-fork

Creates link to search YouTube for a release at the end of existing RYM media links

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да инсталирате разширение, като например Tampermonkey .

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name         RYMAlbumYouTubeSearchFromMediaLinks-fork
// @description  Creates link to search YouTube for a release at the end of existing RYM media links
// @author       dougwritescode, smartacephale
// @supportURL   https://github.com/smartacephale/greasy-fork-scripts
// @version      4.0.0
// @include      https://*rateyourmusic.com/release/*
// @namespace    dougwritescode
// @license	     MIT
// @grant        GM_addStyle
// @run-at       document-idle
// @icon         https://www.google.com/s2/favicons?sz=64&domain=rateyourmusic.com
// ==/UserScript==

GM_addStyle(`
.ui_media_link_btn_youtube_search {
  filter: invert(1) grayscale(1);
  transition: .2s ease-in;
}

.ui_media_link_btn_youtube_search:hover {
  background: #c9c9c9 url(https://img.icons8.com/?size=100&id=DZe3wFKTc8IK&format=png&color=000000);
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  filter: invert(0) grayscale(1);
}
`);

function setup() {
  const linksContainer = document.querySelector(".ui_media_links");
  if (!linksContainer) {
    setTimeout(setup, 25);
    return;
  }
  setButton()
}

function setButton() {
  const albumText = document.querySelector(".album_title").innerText.trim();
  const artistText = document.querySelector(".artist").innerText.trim();
  const searchString = `${artistText} ${albumText}`.split(/\s+/).map(encodeURIComponent).join('+');
  const searchURL = `https://www.youtube.com/results?search_query=${searchString}`;

  const searchButton = document.createElement("a");
  searchButton.setAttribute("class", "ui_media_link_btn ui_media_link_btn_youtube ui_media_link_btn_youtube_search");
  searchButton.setAttribute("target", "_blank");
  searchButton.setAttribute("rel", "noopener nofollow");
  searchButton.setAttribute("title", "Youtube Search");
  searchButton.setAttribute("aria-label", "Search in YouTube by artist and album title");
  searchButton.setAttribute("href", searchURL);

  const tempcollection = document.querySelector(".ui_media_links");
  tempcollection.appendChild(searchButton);
}

setup();