soundcloud repost hide

makes reposts on feed smaller and with less opacity, so you can highlight the new songs

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name     soundcloud repost hide
// @namespace soundcloudreposthide
// @description makes reposts on feed smaller and with less opacity, so you can highlight the new songs
// @version  1
// @grant    none
// @match https://soundcloud.com/*
// @license MIT
// @icon https://a-v2.sndcdn.com/assets/images/sc-icons/favicon-2cadd14bdb.ico
// ==/UserScript==



const targetNode = document.querySelector("body");

targetNode.insertAdjacentHTML("beforeend",`

<style>

.hasrepost {
opacity: 0.4;
max-height: 100px;
overflow: hidden;
transition:all .3s;
/*display:none*/
}

.hasrepost:hover {
max-height:400px
}


</style>

`)

const config = { attributes: false, childList: true, subtree: true };

const callback = (mutationList, observer) => {
	document.querySelectorAll(".activity").forEach(e => {
    if(e.querySelector(".soundContext__repost")){
      e.classList.add("hasrepost")
    }
  })
};

const observer = new MutationObserver(callback);

observer.observe(targetNode, config);