Files
youtube-music/providers/song-info-front.js
Araxeus 2224786478 lint
2021-10-23 16:19:45 +03:00

39 lines
912 B
JavaScript

const { ipcRenderer } = require("electron");
const { getImage } = require("./song-info");
global.songInfo = {};
let api = document.querySelector('#movie_player');
ipcRenderer.on("update-song-info", async (_, extractedSongInfo) => {
global.songInfo = JSON.parse(extractedSongInfo);
global.songInfo.image = await getImage(global.songInfo.imageSrc);
});
function setup() {
if (api) {
injectListener();
return;
}
const observer = new MutationObserver(() => {
api = document.querySelector('#movie_player');
if (api) {
observer.disconnect();
injectListener();
}
})
observer.observe(document.documentElement, { childList: true, subtree: true });
}
function injectListener() {
document.querySelector('video').addEventListener('loadedmetadata', () => {
const data = api.getPlayerResponse();
ipcRenderer.send("song-info-request", JSON.stringify(data));
});
};
module.exports = setup;