From 285ac4d67d36417cfb3cc40ebfbdd478124725b8 Mon Sep 17 00:00:00 2001 From: Aevann Date: Thu, 19 Oct 2023 21:58:44 +0300 Subject: [PATCH] fix music playing --- files/assets/events/shared/js/music.js | 10 ++-------- files/assets/js/core.js | 16 ++++++++++++++++ files/assets/js/profile_song.js | 18 +++--------------- 3 files changed, 21 insertions(+), 23 deletions(-) diff --git a/files/assets/events/shared/js/music.js b/files/assets/events/shared/js/music.js index bd36f8289..93bccd1e5 100644 --- a/files/assets/events/shared/js/music.js +++ b/files/assets/events/shared/js/music.js @@ -1,14 +1,8 @@ -if (localStorage.getItem("music_playing") != 'true') { +if (!playing_music()) { addEventListener("load", () => { const audio = document.getElementById('event-song'); - audio.addEventListener('play', () => { - localStorage.setItem("music_playing", true); - }) - - window.addEventListener('beforeunload', () => { - localStorage.setItem("music_playing", false); - }) + handle_playing_music(audio) audio.play(); document.addEventListener('click', () => { diff --git a/files/assets/js/core.js b/files/assets/js/core.js index 41b231da0..41414fcfd 100644 --- a/files/assets/js/core.js +++ b/files/assets/js/core.js @@ -284,6 +284,22 @@ function prepare_to_pause(audio) { }); } +function handle_playing_music(audio) { + audio.addEventListener('play', () => { + localStorage.setItem("playing_music", Date.now()); + window.addEventListener('beforeunload', () => { + localStorage.setItem("playing_music", 0); + }) + }) + audio.addEventListener('pause', () => { + localStorage.setItem("playing_music", 0); + }) +} + +function playing_music() { + return (Date.now() - localStorage.getItem("playing_music", 0) < 300000) +} + function reload() { location.reload(); } diff --git a/files/assets/js/profile_song.js b/files/assets/js/profile_song.js index 33a367464..6db6ee18f 100644 --- a/files/assets/js/profile_song.js +++ b/files/assets/js/profile_song.js @@ -1,18 +1,6 @@ -const music_playing = localStorage.getItem("music_playing") == 'true' - const audio = document.getElementById('profile-song') -audio.addEventListener('play', () => { - localStorage.setItem("music_playing", true); -}) - -audio.addEventListener('pause', () => { - localStorage.setItem("music_playing", false); -}) - -window.addEventListener('beforeunload', () => { - localStorage.setItem("music_playing", false); -}) +handle_playing_music(audio) let u_username = document.getElementById('u_username') const anthem_button = document.getElementById('toggle-anthem') @@ -45,7 +33,7 @@ if (u_username) } } - if (!music_playing) { + if (!playing_music()) { addEventListener("load", () => { play_audio(audio); document.addEventListener('click', (e) => { @@ -80,7 +68,7 @@ else } } - if (!paused && !music_playing) + if (!paused && !playing_music()) { addEventListener("load", () => { play_audio(audio);