theRealPadster / spicetify-hide-podcasts

Spicetify extension to hide podcasts
GNU General Public License v3.0
249 stars 14 forks source link

feat: use css `:has()` selector instead of JS detection #123

Closed theRealPadster closed 7 months ago

theRealPadster commented 7 months ago

This PR replaces the javascript that's used to detect podcast and audiobook elements with CSS, using the :has() selector. This makes it much more reliable because it will apply to the entire page at all times, whereas I was using a hacky MutationObserver method to try and catch elements as they loaded onto the page.

As a result, the tagPodcasts() and tagAudioBooks() functions don't do anything any more, but I am leaving the original "listen to page navigation and re-apply when DOM is ready" code in place, in case I need to use it again in the future.

I've also blocked some more podcast-related categories on the search page.