From da3a8c7d8c56268be82bc2c30a79f642da5ff29e Mon Sep 17 00:00:00 2001 From: "eric.minning" Date: Tue, 11 Nov 2025 16:02:07 +0100 Subject: [PATCH] Added try/catch handling and some comments --- electron/main/preload.js | 11 +++++-- electron/main/renderer.js | 41 +++++++++++++++--------- electron/main/script.js | 65 ++++++++++++++++++++++++++------------- 3 files changed, 78 insertions(+), 39 deletions(-) diff --git a/electron/main/preload.js b/electron/main/preload.js index 296d46d..5a7a5d7 100644 --- a/electron/main/preload.js +++ b/electron/main/preload.js @@ -2,6 +2,11 @@ const { contextBridge, ipcRenderer, webUtils } = require('electron') -contextBridge.exposeInMainWorld("explorer", { - onFileDrop: (file) => webUtils.getPathForFile(file) -}) +try { + contextBridge.exposeInMainWorld("explorer", { + onFileDrop: (file) => webUtils.getPathForFile(file) + }) +} catch (error) { + console.log("Error in preload.js"); +} + diff --git a/electron/main/renderer.js b/electron/main/renderer.js index 21cd526..3ae8908 100644 --- a/electron/main/renderer.js +++ b/electron/main/renderer.js @@ -2,21 +2,32 @@ const dropzone = document.getElementById("uploadContainer"); dropzone.addEventListener("dragover", (e) =>{ - e.stopPropagation(); - e.preventDefault(); -}); - -dropzone.addEventListener("drop", (e) => { - e.stopPropagation() - e.preventDefault() - const files = e.dataTransfer.files - const filePath = window.explorer.onFileDrop(files[0]) - var holdy = filePath + ""; - if(holdy.endsWith(".mp4")){ - console.log(filePath) - - const files1 = e.dataTransfer.files; - handleFiles(files1); + try { + e.stopPropagation(); + e.preventDefault(); + } catch (error) { + console.log("Error in renderer.js dragover listener function") } +}); + +//listener for when a file get dropped on the drag&drop field +dropzone.addEventListener("drop", (e) => { + try { + e.stopPropagation() + e.preventDefault() + const files = e.dataTransfer.files + const filePath = window.explorer.onFileDrop(files[0]) + var holdy = filePath + ""; + if(holdy.endsWith(".mp4")){ + console.log(filePath) + + const files1 = e.dataTransfer.files; + handleFiles(files1); + } + } catch (error) { + console.log("Error in renderer.js with the listerner for the drop function"); + } + + }) \ No newline at end of file diff --git a/electron/main/script.js b/electron/main/script.js index cc1ac2b..00f5daf 100644 --- a/electron/main/script.js +++ b/electron/main/script.js @@ -1,37 +1,60 @@ -const uploadContainer = document.getElementById('uploadContainer'); -const fileInput = document.getElementById('videoUpload'); -const fileName = document.getElementById('fileName'); -const manualBtn = document.getElementById('manualUploadBtn'); -const videoPreview = document.getElementById('videoPreview'); - - - +try { + const uploadContainer = document.getElementById('uploadContainer'); + const fileInput = document.getElementById('videoUpload'); + const fileName = document.getElementById('fileName'); + const manualBtn = document.getElementById('manualUploadBtn'); + const videoPreview = document.getElementById('videoPreview'); +} catch (error) { + console.log("Error in skript value setting section"); +} +//listener for the file explorer search manualBtn.addEventListener('click', () => { - fileInput.click(); + try { + fileInput.click(); + } catch (error) { + console.log("Error in manualBtn EventListener click"); + } + }); - +//listener for the file explorer search when something got selected fileInput.addEventListener('change', () => { - handleFiles(fileInput.files); + try { + handleFiles(fileInput.files); + } catch (error) { + console.log("Error in manualBtn EventListener change"); + } + }); - +//function to display the file path in the drop down box function handleFiles(files) { - if (files.length > 0) { - const file = files[0]; - if (file.type.startsWith('video/')) { - fileInput.files = files; - fileName.textContent = `Chosen video: ${file.name}`; + try { + if (files.length > 0) { + const file = files[0]; + if (file.type.startsWith('video/')) { + fileInput.files = files; + fileName.textContent = `Chosen video: ${file.name}`; + } } -} + } catch (error) { + console.log("Error in script.js handleFiles function"); + } + } +//function to regulate the progress on the progressbar function updateProgressBar(bar, value){ - value = Math.round(value); - bar.querySelector(".progress_fill").style.width = `${value}%`; - bar.querySelector(".progress_text").textContent = `${value}%`; + try { + value = Math.round(value); + bar.querySelector(".progress_fill").style.width = `${value}%`; + bar.querySelector(".progress_text").textContent = `${value}%`; + } catch (error) { + console.log("Error in scripts.js updateProgressBar function"); + } + } \ No newline at end of file