diff --git a/plugins/notifications/back.js b/plugins/notifications/back.js index d70898cc..4fc1d87d 100644 --- a/plugins/notifications/back.js +++ b/plugins/notifications/back.js @@ -1,8 +1,7 @@ const { Notification } = require("electron"); - const getSongInfo = require("../../providers/song-info"); -const notify = (info) => { +const notify = info => { let notificationImage = "assets/youtube-music.png"; if (info.image) { @@ -16,19 +15,26 @@ const notify = (info) => { icon: notificationImage, silent: true, }; + // Send the notification - new Notification(notification).show(); + currentNotification = new Notification(notification); + currentNotification.show() + + return currentNotification; }; module.exports = (win) => { const registerCallback = getSongInfo(win); - + let oldNotification; win.on("ready-to-show", () => { // Register the callback for new song information - registerCallback((songInfo) => { + registerCallback(songInfo => { // If song is playing send notification - if (!songInfo.isPaused) { - notify(songInfo); + if (!songInfo.isPaused) { + // Close the old notification + oldNotification?.close(); + // This fixes a weird bug that would cause the notification to be updated instead of showing + setTimeout(()=>{ oldNotification = notify(songInfo) }, 10); } }); });