Skip to content

Commit f18b815

Browse files
committed
Fixed an issue with the mini-player flashing.
1 parent 5ec9c8e commit f18b815

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

features/project-miniplayer/script.js

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -49,16 +49,23 @@ export default async function ({ feature, console }) {
4949
updateSetting('position-bottom', await feature.settings.get("position-bottom"));
5050
updateSetting('opacity', await feature.settings.get("opacity"));
5151

52-
window.addEventListener('scroll', () => {
53-
if (window.scrollY > 700) {
54-
miniplayerElement.style.display = 'block';
55-
miniplayerElement.appendChild(guiPlayer);
56-
} else {
57-
miniplayerElement.style.display = 'none';
58-
title.insertAdjacentElement('beforebegin', guiPlayer);
59-
60-
}
61-
});
52+
const observerOptions = {
53+
root: document
54+
};
55+
const callback = (entries, observer) => {
56+
entries.forEach(entry => {
57+
if (entry.isIntersecting) {
58+
miniplayerElement.style.display = 'none';
59+
title.insertAdjacentElement('beforebegin', guiPlayer);
60+
} else {
61+
miniplayerElement.style.display = 'block';
62+
miniplayerElement.appendChild(guiPlayer);
63+
}
64+
});
65+
};
66+
const observerObject = new IntersectionObserver(callback, observerOptions);
67+
const targetArea = document.querySelector("div.preview .inner .project-notes")
68+
observerObject.observe(targetArea);
6269

6370
feature.settings.addEventListener("changed", function({ key, value }) {
6471
updateSetting(key, value)

0 commit comments

Comments
 (0)