mirror of
https://github.com/danbulant/dribbblish-dynamic-theme
synced 2026-05-27 05:51:55 +00:00
fix cover listener again
This commit is contained in:
parent
c3f1f235c1
commit
14294113d0
1 changed files with 10 additions and 6 deletions
|
|
@ -636,6 +636,7 @@ async function songchange() {
|
||||||
}
|
}
|
||||||
|
|
||||||
$("html").css("--image-url", `url("${bgImage}")`);
|
$("html").css("--image-url", `url("${bgImage}")`);
|
||||||
|
registerCoverListener();
|
||||||
}
|
}
|
||||||
|
|
||||||
Spicetify.Player.addEventListener("songchange", songchange);
|
Spicetify.Player.addEventListener("songchange", songchange);
|
||||||
|
|
@ -666,21 +667,24 @@ async function pickCoverColor(img) {
|
||||||
updateColors(textColor, sidebarColor);
|
updateColors(textColor, sidebarColor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var coverListener;
|
||||||
function registerCoverListener() {
|
function registerCoverListener() {
|
||||||
const img = document.querySelector(".main-image-image.cover-art-image");
|
const img = document.querySelector(".main-image-image.cover-art-image");
|
||||||
if (!img) return setTimeout(registerCoverListener, 250); // Check if image exists
|
if (!img) return setTimeout(registerCoverListener, 250); // Check if image exists
|
||||||
if (!img.complete) return img.addEventListener("load", registerCoverListener); // Check if image is loaded
|
if (!img.complete) return img.addEventListener("load", registerCoverListener); // Check if image is loaded
|
||||||
pickCoverColor(img);
|
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");
|
const img = document.querySelector(".main-image-image.cover-art-image");
|
||||||
if (!img) {
|
if (!img) return registerCoverListener();
|
||||||
observer.disconnect();
|
|
||||||
return registerCoverListener();
|
|
||||||
}
|
|
||||||
pickCoverColor(img);
|
pickCoverColor(img);
|
||||||
});
|
});
|
||||||
observer.observe(img, {
|
coverListener.observe(img, {
|
||||||
attributes: true,
|
attributes: true,
|
||||||
attributeFilter: ["src"]
|
attributeFilter: ["src"]
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue