Simplifies the notification plugin to use the globalized song info

This commit is contained in:
Sem Vissscher
2020-12-21 21:35:02 +01:00
parent ee239da647
commit 5bffdbd628
3 changed files with 18 additions and 124 deletions

View File

@ -1,33 +1,31 @@
const { nativeImage, Notification } = require("electron");
const { listenAction } = require("../utils");
const { ACTIONS, CHANNEL } = require("./actions.js");
const {Notification} = require('electron');
function notify(info) {
let notificationImage = "assets/youtube-music.png";
let notificationImage = 'assets/youtube-music.png';
if (info.image) {
notificationImage = nativeImage.createFromDataURL(info.image);
notificationImage = info.image.resize({height: 256, width: 256});
}
// Fill the notification with content
const notification = {
title: info.title || "Playing",
title: info.title || 'Playing',
body: info.artist,
icon: notificationImage,
silent: true,
silent: true
};
// Send the notification
new Notification(notification).show();
}
function listenAndNotify() {
listenAction(CHANNEL, (event, action, imageSrc) => {
switch (action) {
case ACTIONS.NOTIFICATION:
notify(imageSrc);
break;
default:
console.log("Unknown action: " + action);
}
module.exports = win => {
win.on('ready-to-show', () => {
// Register the callback for new song information
global.songInfo.onNewData(songInfo => {
// If song is playing send notification
if (!songInfo.isPaused) {
notify(songInfo);
}
});
});
}
module.exports = listenAndNotify;
};