diff --git a/js/musicPlayer.js b/js/musicPlayer.js index e8bf6d7..568a228 100644 --- a/js/musicPlayer.js +++ b/js/musicPlayer.js @@ -23,6 +23,7 @@ export class MusicPlayer { this.isPlayerVisible = false; this.isReady = false; this.isInitializing = false; + this.miniplayerManuallyClosed = false; } setDB(databaseInstance) { @@ -214,11 +215,12 @@ export class MusicPlayer { } closeMiniplayer() { + this.miniplayerManuallyClosed = true; const miniplayer = document.getElementById('miniplayer'); gsap.to(miniplayer, { y: '110%', duration: 0.5, ease: 'power3.in', onComplete: () => { miniplayer.style.display = 'none'; document.body.classList.remove('miniplayer-active'); - if (this.isPlaying) { + if (this.indiceActual >= 0) { document.getElementById('fab-music-player').style.display = 'flex'; gsap.fromTo('#fab-music-player', { scale: 0, opacity: 0 }, { scale: 1, opacity: 1, duration: 0.3, ease: 'back.out(1.7)' }); } @@ -226,6 +228,7 @@ export class MusicPlayer { } openMiniplayer() { + this.miniplayerManuallyClosed = false; const miniplayer = document.getElementById('miniplayer'); const fab = document.getElementById('fab-music-player'); gsap.to(fab, { scale: 0, opacity: 0, duration: 0.3, ease: 'back.in(1.7)', onComplete: () => { @@ -542,7 +545,7 @@ export class MusicPlayer { } const miniplayer = document.getElementById('miniplayer'); - if (miniplayer.style.display === 'none') { + if (miniplayer.style.display === 'none' && !this.miniplayerManuallyClosed) { gsap.fromTo(miniplayer, { y: '100%' }, { display: 'grid', y: '0%', duration: 0.5, ease: 'power3.out' }); } document.body.classList.add('miniplayer-active'); @@ -574,7 +577,9 @@ export class MusicPlayer { if (playIconElement) { playIconElement.className = 'fas fa-play play-icon'; } - document.getElementById('fab-music-player').style.display = 'none'; + if (!this.miniplayerManuallyClosed) { + document.getElementById('fab-music-player').style.display = 'none'; + } }).catch((error) => { this.handleAudioError(_('playbackError')); if (playIconElement) {