diff --git a/assets/css/extra.css b/assets/css/extra.css index 2db37f3..89b8979 100644 --- a/assets/css/extra.css +++ b/assets/css/extra.css @@ -72,11 +72,8 @@ a{ } input[type="checkbox"]{ - width:20px; - height:20px; - position: relative; - left:5px; - top: 5px; + width:25px; + height:25px; } #selectLocation{ @@ -106,7 +103,6 @@ select { font-size: large; outline: none; position:relative; - bottom:8px; } #browserInfo{ cursor: pointer; diff --git a/html/preferences.html b/html/preferences.html index 7d32f53..dd9121f 100644 --- a/html/preferences.html +++ b/html/preferences.html @@ -8,6 +8,7 @@ Preferences + @@ -45,6 +46,7 @@
+
+ + + + + + + + + + +
+ +
+ +
+ Preferred audio format + + +
+ + +
Select browser to use cookies from ℹ️ @@ -82,90 +119,7 @@ diff --git a/package.json b/package.json index 2c7dacb..fceb343 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "yt-dlp-wrap-extended": "^2.3.15" }, "name": "ytdownloader", - "version": "3.8.0", + "version": "3.8.1", "main": "main.js", "scripts": { "start": "electron .", diff --git a/src/preferences.js b/src/preferences.js new file mode 100644 index 0000000..596e11a --- /dev/null +++ b/src/preferences.js @@ -0,0 +1,107 @@ +let rightToLeft = false; +if (localStorage.getItem("rightToLeft")) { + rightToLeft = localStorage.getItem("rightToLeft") +} +if (rightToLeft == "true") { + document.querySelectorAll(".prefBox").forEach(item => { + item.style.flexDirection = "row-reverse" + }) +} +else { + console.log("Change to left to right"); + document.querySelectorAll(".prefBox").forEach(item => { + item.style.flexDirection = "row" + }) +} +let downloadPath = localStorage.getItem("downloadPath") +getId("path").textContent = downloadPath + +const { ipcRenderer } = require("electron") +function getId(id) { + return document.getElementById(id) +} + +getId("back").addEventListener("click", () => { + ipcRenderer.send("close-secondary") +}) + +getId("selectLocation").addEventListener("click", () => { + ipcRenderer.send("select-location", "") +}) + +ipcRenderer.on("downloadPath", (event, downloadPath) => { + console.log(downloadPath); + localStorage.setItem("downloadPath", downloadPath) + getId("path").textContent = downloadPath +}) + +const enabledTransparent = getId("enableTransparent") +enabledTransparent.addEventListener("change", (event) => { + if (enabledTransparent.checked) { + localStorage.setItem("enabledTransparent", "true") + } + else { + localStorage.setItem("enabledTransparent", "false") + } +}) + +const localEnabledTransparent = localStorage.getItem("enabledTransparent") +if (localEnabledTransparent == "true") { + enabledTransparent.checked = true +} +const language = localStorage.getItem("language") + +if (language) { + getId("select").value = language +} +function changeLanguage() { + const language = getId("select").value + localStorage.setItem("language", language) + if (language === "fa") { + rightToLeft = true; + localStorage.setItem("rightToLeft", true) + } + else { + rightToLeft = false; + localStorage.setItem("rightToLeft", false) + } +} + +let browser = localStorage.getItem("browser") +if (browser) { + getId("browser").value = browser +} + +getId("browser").addEventListener("change", () => { + browser = getId("browser").value + localStorage.setItem("browser", browser) +}) + + +// Handling preferred video quality + +let preferredVideoQuality = localStorage.getItem("preferredVideoQuality") +if (preferredVideoQuality){ + getId("preferredVideoQuality").value = preferredVideoQuality +} + +getId("preferredVideoQuality").addEventListener("change", ()=>{ + preferredVideoQuality = getId("preferredVideoQuality").value + localStorage.setItem("preferredVideoQuality", preferredVideoQuality) = preferredVideoQuality +}) + + +// Handling preferred audio quality + +let preferredAudioQuality = localStorage.getItem("preferredAudioQuality") +if (preferredAudioQuality){ + getId("preferredAudioQuality").value = preferredAudioQuality +} + +getId("preferredAudioQuality").addEventListener("change", ()=>{ + preferredAudioQuality = getId("preferredAudioQuality").value + localStorage.setItem("preferredAudioQuality", preferredAudioQuality) = preferredAudioQuality +}) + + +require("../src/translate_preferences") diff --git a/src/renderer.js b/src/renderer.js index fbb00f5..778ce01 100644 --- a/src/renderer.js +++ b/src/renderer.js @@ -37,13 +37,7 @@ let browser = ""; // Video and audio preferences let preferredVideoQuality = ""; let preferredAudioQuality = ""; -if (localStorage.getItem("preferredVideoQuality")) { - preferredVideoQuality = localStorage.getItem("preferredVideoQuality"); -} -if (localStorage.getItem("preferredAudioQuality")) { - preferredAudioQuality = localStorage.getItem("preferredAudioQuality"); - getId("extractSelection").value = preferredAudioQuality; -} + function getId(id) { return document.getElementById(id); @@ -212,6 +206,13 @@ async function getInfo(url) { getId("audioFormatSelect").innerHTML = ""; getId("startTime").value = ""; getId("endTime").value = ""; + if (localStorage.getItem("preferredVideoQuality")) { + preferredVideoQuality = localStorage.getItem("preferredVideoQuality"); + } + if (localStorage.getItem("preferredAudioQuality")) { + preferredAudioQuality = localStorage.getItem("preferredAudioQuality"); + getId("extractSelection").value = preferredAudioQuality; + } // Whether to use browser cookies or not if (localStorage.getItem("browser")) { @@ -563,10 +564,6 @@ function download(type) { ext = videoValue.split("|")[1]; if (videoValue.split("|")[2] != "NO") { preferredVideoQuality = Number(videoValue.split("|")[2]); - localStorage.setItem( - "preferredVideoQuality", - Number(videoValue.split("|")[2]) - ); } } else if (type === "audio") { format_id = getId("audioFormatSelect").value.split("|")[0]; diff --git a/src/translate_preferences.js b/src/translate_preferences.js index 49b4218..60b363c 100644 --- a/src/translate_preferences.js +++ b/src/translate_preferences.js @@ -1,8 +1,8 @@ function getId(id){ return document.getElementById(id) } -function querySelector(element){ - return document.querySelector(element) +function querySelectorAll(element){ + return document.querySelectorAll(element) } var i18n = new(require('../translations/i18n')) @@ -15,7 +15,9 @@ getId("selectLocation").textContent = i18n.__("Select Download Location") getId("transparentText").textContent = i18n.__("Enable transparent dark mode(only Linux, needs relaunch)") getId("preferences").textContent = i18n.__("Preferences") getId("selectLn").textContent = i18n.__("Select Language (Requires relaunch)") -// getId("restart").textContent = i18n.__("Restart app") getId("browserInfo").title = i18n.__("This option lets you download restricted content. You will get errors if cookies are not there") getId("browserTxt").textContent = i18n.__("Select browser to use cookies from") -getId("none").textContent = i18n.__("None") \ No newline at end of file +getId("none").textContent = i18n.__("None") +querySelectorAll(".autoTxt").forEach(item => { + item.textContent = i18n.__("Automatic") +}); \ No newline at end of file diff --git a/translations/en.json b/translations/en.json index a835be3..caadfb6 100644 --- a/translations/en.json +++ b/translations/en.json @@ -68,6 +68,6 @@ "Select Audio Format ":"Select Audio Format ", "Maximum number of active downloads":"Maximum number of active downloads", "Preferred video quality": "Preferred video quality", - "Preferred audio format": "Preferred audio format" - + "Preferred audio format": "Preferred audio format", + "Best": "Best" }