@@ -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