Files
Webovka-pro-Jarmark/content.js
2026-09-23 15:22:04 +00:00

56 lines
1.9 KiB
JavaScript

const TARGET_URL = "http://localhost:8080/endpoint";
let lastSentSignature = "";
function extractAndSendSong() {
const trackInfo = document.querySelector('[data-testid="now-playing-widget"]');
if (trackInfo) {
const links = trackInfo.querySelectorAll('a');
const songTitle = links[0] ? links[0].innerText : null;
const artistName = links[1] ? links[1].innerText : "Unknown Artist";
// Získání obrázku alba
const imgElement = trackInfo.querySelector('img');
const albumCoverUrl = imgElement ? imgElement.src : null;
// Získání uplynulého času a celkové délky písničky ze Spotify
const currentTimeEl = document.querySelector('[data-testid="playback-position"]');
const durationEl = document.querySelector('[data-testid="playback-duration"]');
const currentTime = currentTimeEl ? currentTimeEl.innerText : "0:00";
const duration = durationEl ? durationEl.innerText : "0:00";
// Spojený formát např. "0:53/3:45"
const progressFull = `${currentTime}/${duration}`;
if (songTitle) {
// Opraveno z artistTitle na artistName
const currentSignature = `${artistName}-${songTitle}-${currentTime}`;
if (currentSignature !== lastSentSignature) {
lastSentSignature = currentSignature;
console.log("Odesílám data:", artistName, "-", songTitle, `[${progressFull}]`);
fetch(TARGET_URL, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
artist: artistName,
title: songTitle,
coverImg: albumCoverUrl,
progressTime: progressFull,
timestamp: new Date().toISOString()
})
}).catch(err => {
console.error("Chyba při odesílání:", err);
});
}
}
}
}
// Kontrola každou vteřinu pro plynulou aktualizaci času v písničce
setInterval(extractAndSendSong, 1000);