SC: highlight hypeddits

highlight tracks with hypeddit or otherwise download/buy link

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        SC: highlight hypeddits
// @namespace   Violentmonkey Scripts
// @match       https://soundcloud.com/*
// @grant       none
// @version     0.1.3
// @author      -
// @description highlight tracks with hypeddit or otherwise download/buy link
// @license     GPLv3
// ==/UserScript==

(function() {
  'use strict';

  function process(track) {
    const link = track.querySelector('a.soundActions__purchaseLink');
    if (!link) { return; }
    if (link.href.includes('hypeddit.com/')) {
      track.querySelector('a.sc-link-primary').style.background = '#f5d5eb';
    } else {
      track.querySelector('a.sc-link-primary').style.background = '#d5ebf5';
    }
  }

  const observer = new MutationObserver(() => {
      document.querySelectorAll('div.sound__content').forEach(elm => process(elm) );
    });
  observer.observe(document.querySelector('#app'), { childList: true, subtree: true });


})();