From 971fb1bdaca913f521dc0e04c22845953a92c099 Mon Sep 17 00:00:00 2001 From: Filip Borum Poulsen Date: Sun, 8 Dec 2024 21:10:12 +0100 Subject: [PATCH] Added delete video and view selected --- index.js | 24 ++++++++++++++++++++++++ public/index.html | 18 +++++++++++++++++- public/main.js | 15 +++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index f45bdb6..766a232 100755 --- a/index.js +++ b/index.js @@ -187,3 +187,27 @@ app.post('/upload', function (req, res) { res.redirect('/'); }); + +app.post("/delete", async (req, res) => { + let video = req.query.video; + await fs.rm(video); + res.json({ status: 'ok' }); +}); + +app.get("/selectedvideo", (req, res) => { + if (fs.existsSync('/selectedvideo')) { + res.text(fs.readFileSync('/selectedvideo').toString()); + } + else { + res.json(""); + } +}); + +app.get("/overlayvideo", (req, res) => { + if (fs.existsSync('/overlayvideo')) { + res.text(fs.readFileSync('/overlayvideo').toString()); + } + else { + res.json(""); + } +}); diff --git a/public/index.html b/public/index.html index dd08011..259e1e4 100755 --- a/public/index.html +++ b/public/index.html @@ -27,34 +27,50 @@ encType="multipart/form-data"> - + +

Background video

+
Currently selected video:
+
+

Overlay video

+
Currently selected video:
+
+ +

Delete videos

+
+

Projector status 1

+

Projector status 2

+

Relay 1

+

Relay 2

+

Relay 3

+

Relay 4

+ diff --git a/public/main.js b/public/main.js index 458ca9c..a37a025 100755 --- a/public/main.js +++ b/public/main.js @@ -3,9 +3,11 @@ async function main() { const videos = await response.json(); const videoDiv = document.getElementById('videos'); const overlayVideoDiv = document.getElementById('overlayvideos'); + const deleteVideoDiv = document.getElementById('deletevideos'); videoDiv.innerHTML = ''; overlayVideoDiv.innerHTML = ''; + deleteVideoDiv.innerHTML = ''; console.log(videoDiv); @@ -24,6 +26,13 @@ async function main() { fetch(`/select?video=${video.path}`, { method: 'POST' }); }); overlayVideoDiv.appendChild(overlayButton); + + const deleteButton = document.createElement('button'); + deleteButton.textContent = video.name; + deleteButton.addEventListener('click', () => { + fetch(`/delete?video=${video.path}`, { method: 'POST' }); + }); + deleteVideoDiv.appendChild(deleteButton); } const res = await fetch('/projectorstatus'); @@ -44,6 +53,12 @@ async function main() { relay2Div.innerText = await (await fetch("https://steady.bpfilip.dk/relay/status/13")).text(); relay3Div.innerText = await (await fetch("https://steady.bpfilip.dk/relay/status/6")).text(); relay4Div.innerText = await (await fetch("https://steady.bpfilip.dk/relay/status/5")).text(); + + const selectedvideoDiv = document.getElementById('selectedvideo'); + const overlayvideoDiv = document.getElementById('overlayvideo'); + + selectedvideoDiv.innerText = await (await fetch("/selectedvideo")).text(); + overlayvideoDiv.innerText = await (await fetch("/overlayvideo")).text(); } main();