mirror of
https://github.com/MasterAcnolo/Freedom-Loader.git
synced 2026-07-29 18:25:47 +02:00
ProgressBar + Playlist
This commit is contained in:
29
public/script/progressBar.js
Normal file
29
public/script/progressBar.js
Normal file
@@ -0,0 +1,29 @@
|
||||
const progressWrapper = document.getElementById("downloadProgressWrapper");
|
||||
const progressBar = document.getElementById("downloadProgress");
|
||||
|
||||
function startProgress() {
|
||||
progressWrapper.style.display = "block";
|
||||
progressBar.style.width = "0%";
|
||||
}
|
||||
|
||||
function updateProgress(percent) {
|
||||
progressBar.style.width = `${percent}%`;
|
||||
}
|
||||
|
||||
// Réinitialise et cache
|
||||
function resetProgress() {
|
||||
progressBar.style.width = "0%";
|
||||
progressWrapper.style.display = "none";
|
||||
}
|
||||
|
||||
// Connexion SSE, c'est Server-sent events est une technologie grâce à laquelle un navigateur reçoit des mises à jour automatiques à partir d'un serveur via une connexion HTTP.
|
||||
const evtSource = new EventSource("/download/progress");
|
||||
evtSource.onmessage = e => {
|
||||
const percent = parseFloat(e.data);
|
||||
if (!isNaN(percent)) {
|
||||
updateProgress(percent);
|
||||
if (percent >= 100) {
|
||||
setTimeout(resetProgress, 500);
|
||||
}
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user