(props)
| 6143 | window.addEventListener("resize", repositionCard); |
| 6144 | document.addEventListener("scroll", repositionCard, true); |
| 6145 | const observePlayer = async () => { |
| 6146 | while (!getPlayerElement()) await sleep(300); |
| 6147 | const player = getPlayerElement(); |
| 6148 | if (player) { |
| 6149 | const ro = new ResizeObserver(repositionCard); |
| 6150 | ro.observe(player); |
| 6151 | } |
| 6152 | }; |
| 6153 | observePlayer(); |
| 6154 | const waitForPlayer = async () => { |
| 6155 | while (!Spicetify?.Player?.addEventListener) await sleep(300); |
| 6156 | Spicetify.Player.addEventListener("songchange", () => { |
| 6157 | setTimeout(updateCard, 300); |
| 6158 | }); |
| 6159 | setTimeout(updateCard, 500); |
| 6160 | }; |
| 6161 | waitForPlayer(); |
| 6162 | window.addEventListener("glowifyNscUpdate", () => { |
| 6163 | applyNextSongCardStyle(); |
| 6164 | lastUri = ""; |
| 6165 | updateCard(); |
| 6166 | }); |
| 6167 | let cinemaObserver = null; |
| 6168 | let lastCinemaEl = null; |
| 6169 | function watchCinema() { |
| 6170 | const el = document.querySelector(".Root__cinema-view"); |
| 6171 | if (el && el !== lastCinemaEl) { |
| 6172 | lastCinemaEl = el; |
| 6173 | if (cinemaObserver) cinemaObserver.disconnect(); |
| 6174 | const apply = () => { |
| 6175 | if (!card) return; |
| 6176 | card.classList.toggle( |
| 6177 | "nsc-cinema-hidden", |
| 6178 | el.classList.contains("Root__cinema-view--controls-hidden") |
| 6179 | ); |
| 6180 | }; |
| 6181 | cinemaObserver = new MutationObserver(apply); |
| 6182 | cinemaObserver.observe(el, { attributes: true, attributeFilter: ["class"] }); |
| 6183 | apply(); |
| 6184 | } |
| 6185 | if (!el) { |
| 6186 | lastCinemaEl = null; |
| 6187 | if (cinemaObserver) { |
| 6188 | cinemaObserver.disconnect(); |
| 6189 | cinemaObserver = null; |
| 6190 | } |
| 6191 | if (card) card.classList.remove("nsc-cinema-hidden"); |
| 6192 | } |
| 6193 | } |
| 6194 | setInterval(watchCinema, 1e3); |
| 6195 | let nscBarObserver = null; |
| 6196 | let lastBarContainer = null; |
| 6197 | function watchBarContainer() { |
| 6198 | const el = document.querySelector(".kUPoamhLb3kO_sjj.wRMAmo4RKCAZpoBA"); |
| 6199 | if (el && el !== lastBarContainer) { |
| 6200 | lastBarContainer = el; |
| 6201 | if (nscBarObserver) nscBarObserver.disconnect(); |
| 6202 | nscBarObserver = new MutationObserver(() => { |
nothing calls this directly
no test coverage detected