fix cover listener again

This commit is contained in:
Send_Nukez 2021-11-04 00:23:20 +01:00
parent c3f1f235c1
commit 14294113d0

View file

@ -636,6 +636,7 @@ async function songchange() {
}
$("html").css("--image-url", `url("${bgImage}")`);
registerCoverListener();
}
Spicetify.Player.addEventListener("songchange", songchange);
@ -666,21 +667,24 @@ async function pickCoverColor(img) {
updateColors(textColor, sidebarColor);
}
var coverListener;
function registerCoverListener() {
const img = document.querySelector(".main-image-image.cover-art-image");
if (!img) return setTimeout(registerCoverListener, 250); // Check if image exists
if (!img.complete) return img.addEventListener("load", registerCoverListener); // Check if image is loaded
pickCoverColor(img);
const observer = new MutationObserver((muts) => {
if (coverListener != null) {
coverListener.disconnect();
coverListener = null;
}
coverListener = new MutationObserver((muts) => {
const img = document.querySelector(".main-image-image.cover-art-image");
if (!img) {
observer.disconnect();
return registerCoverListener();
}
if (!img) return registerCoverListener();
pickCoverColor(img);
});
observer.observe(img, {
coverListener.observe(img, {
attributes: true,
attributeFilter: ["src"]
});