diff --git a/src/plugins/album-actions/index.ts b/src/plugins/album-actions/index.ts index a8080c8b..ed27c6c2 100644 --- a/src/plugins/album-actions/index.ts +++ b/src/plugins/album-actions/index.ts @@ -62,7 +62,7 @@ export default createPlugin< //Finds the playlist const playlist = document.querySelector('ytmusic-playlist-shelf-renderer') ?? - document.querySelector('ytmusic-shelf-renderer')!; + Array.prototype.at.call(document.querySelectorAll('ytmusic-shelf-renderer'), -1)!; // Adds an observer for every button, so it gets updated when one is clicked this.changeObserver?.disconnect(); this.changeObserver = new MutationObserver(() => { @@ -86,16 +86,16 @@ export default createPlugin< if (continuations.children.length == 0 && listsLength > 0) { const counts = [ playlist?.querySelectorAll( - '#button-shape-dislike[aria-pressed=true] > button', + '#button-shape-dislike > button[aria-pressed=true]', ).length, playlist?.querySelectorAll( - '#button-shape-dislike[aria-pressed=false] > button', + '#button-shape-dislike > button[aria-pressed=false]', ).length, playlist?.querySelectorAll( - '#button-shape-like[aria-pressed=false] > button', + '#button-shape-like > button[aria-pressed=false]', ).length, playlist?.querySelectorAll( - '#button-shape-like[aria-pressed=true] > button', + '#button-shape-like > button[aria-pressed=true]', ).length, ]; let i = 0; @@ -159,26 +159,26 @@ export default createPlugin< let playlistButtons: NodeListOf | undefined; const playlist = document.querySelector('ytmusic-playlist-shelf-renderer') ?? - document.querySelector('ytmusic-shelf-renderer'); + Array.prototype.at.call(document.querySelectorAll('ytmusic-shelf-renderer'), -1)!; switch (id) { case 'allundislike': playlistButtons = playlist?.querySelectorAll( - '#button-shape-dislike[aria-pressed=true] > button', + '#button-shape-dislike > button[aria-pressed=true]', ); break; case 'alldislike': playlistButtons = playlist?.querySelectorAll( - '#button-shape-dislike[aria-pressed=false] > button', + '#button-shape-dislike > button[aria-pressed=false]', ); break; case 'alllike': playlistButtons = playlist?.querySelectorAll( - '#button-shape-like[aria-pressed=false] > button', + '#button-shape-like > button[aria-pressed=false]', ); break; case 'allunlike': playlistButtons = playlist?.querySelectorAll( - '#button-shape-like[aria-pressed=true] > button', + '#button-shape-like > button[aria-pressed=true]', ); break; default: