Yt-dl Addon for Windows
+17
-1
| /* | ||
| On startup, connect to the 'firefox_command_runner' app. | ||
| */ | ||
| console.log('Starting firefox command runner!') | ||
| var port = browser.runtime.connectNative('firefox_command_runner'); | ||
| /* | ||
| Listen for messages from the app. | ||
| */ | ||
| port.onMessage.addListener((response) => { | ||
@@ -26,2 +29,5 @@ console.log("Received: "); | ||
| } | ||
| else if(response[0]=="FORMAT"){ | ||
| browser.runtime.sendMessage(response); | ||
| } | ||
| }); | ||
@@ -39,6 +45,16 @@ | ||
| console.log(tab.url); | ||
| port.postMessage(message+tab.url) | ||
| port.postMessage(message+tab.url); | ||
| } | ||
| browser.tabs.query({currentWindow: true, active: true}).then(logTabs, console.error); | ||
| } | ||
| }); | ||
| /* | ||
| Notification actions | ||
| */ | ||
| browser.notifications.onClicked.addListener((response) => { | ||
| console.log("Open Download folder") | ||
| port.postMessage("OpenDL"); | ||
| }); |
+1
-2
@@ -6,2 +6,3 @@ /* Paddings */ | ||
| } | ||
| .full-width{width:100%} | ||
@@ -27,6 +28,4 @@ /* Rounded progress bar */ | ||
| justify-content: space-between; | ||
| } | ||
+21
-9
@@ -21,15 +21,27 @@ <!DOCTYPE html> | ||
| </div> | ||
| <div id="after-opt-in" hidden="true"> | ||
| <div class="buttons"> | ||
| <div id="after-opt-in" hidden="true"></div> | ||
| <div id="main" class="buttons"> | ||
| <button id='audio_M4a'>M4a</button> | ||
| <button id='audio_mp3'>Mp3</button> | ||
| <button id='video'>Mp4</button> | ||
| </div> | ||
| <div id="progress-bar" class="hidden"> | ||
| <div id="speed" class="center-text text-80">Downloading...</div> | ||
| <div style="display:flex"> | ||
| <div> | ||
| <progress id="prog" max="100" value="0"></progress> | ||
| <div id="perc" class="center-text">0%</div> | ||
| </div> | ||
| <p class="center-text text-80">OR</p> | ||
| <div id="aux"> | ||
| <button id="format" class="full-width">Other formats</button> | ||
| <div id="load-format" class="hidden center-text full-width">Loading...</div> | ||
| <div id="ddMenu" class="hidden"> | ||
| <div id="ddMenu" class="buttons"> | ||
| <select id="dropdown" class="full-width"> | ||
| </select> | ||
| <button id="DL">DL</button> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| <div id="progress-bar" class="hidden full-width"> | ||
| <div id="speed" class="center-text text-80"> Downloading...</div> | ||
| <div> | ||
| <progress id="prog" max="100" value="0" class="buttons"></progress> | ||
| <div id="perc" class="center-text">0%</div> | ||
| </div> | ||
@@ -36,0 +48,0 @@ </div> |
+1
-1
@@ -5,3 +5,3 @@ { | ||
| "name": "Yt-dl Addon for Windows", | ||
| "version": "1.2", | ||
| "version": "1.3", | ||
| "icons": { | ||
@@ -8,0 +8,0 @@ "128": "icons/YT_icon.png" |
+57
-10
@@ -25,6 +25,8 @@ // Addon Opt-in actions | ||
| // Addon button actions | ||
| ////////// Plugin Event listeners ////////// | ||
| // 3 Main formats | ||
| document.getElementById('audio_M4a').addEventListener('click', function(){ | ||
| browser.runtime.sendMessage("m4a"); | ||
| document.getElementById("aux").classList.add("hidden"); | ||
| document.querySelector("p").classList.add("hidden"); | ||
| document.querySelector("#progress-bar").classList.remove("hidden"); | ||
@@ -34,10 +36,31 @@ }) | ||
| browser.runtime.sendMessage("mp3"); | ||
| document.getElementById("aux").classList.add("hidden"); | ||
| document.querySelector("p").classList.add("hidden"); | ||
| document.querySelector("#progress-bar").classList.remove("hidden"); | ||
| }) | ||
| document.getElementById('video').addEventListener('click', function(){ | ||
| browser.runtime.sendMessage("mp4") | ||
| browser.runtime.sendMessage("mp4"); | ||
| document.getElementById("aux").classList.add("hidden"); | ||
| document.querySelector("p").classList.add("hidden"); | ||
| document.querySelector("#progress-bar").classList.remove("hidden"); | ||
| }) | ||
| // Listen for background script message | ||
| // Other formats | ||
| document.getElementById('format').addEventListener('click', function(){ | ||
| browser.runtime.sendMessage("format"); | ||
| document.getElementById('load-format').classList.remove("hidden"); | ||
| document.getElementById('format').classList.add("hidden"); | ||
| }) | ||
| document.getElementById('DL').addEventListener('click', function(){ | ||
| var e = document.getElementById("dropdown"); | ||
| var strUser = e.value; | ||
| console.log(strUser) | ||
| browser.runtime.sendMessage(strUser) | ||
| document.querySelector("#main").classList.remove("buttons"); | ||
| document.querySelector("#main").classList.add("hidden"); | ||
| document.querySelector("p").classList.add("hidden"); | ||
| document.querySelector("#progress-bar").classList.remove("hidden"); | ||
| }) | ||
| ////////// Listen for background script message ////////// | ||
| browser.runtime.onMessage.addListener((response) => { | ||
@@ -48,12 +71,17 @@ if (response=="Complete"){ | ||
| if (response[0]=="PROG"){ | ||
| console.log(response) | ||
| // Progression percent | ||
| percent=response[1]; | ||
| percent2=percent.substring(0,response[1].length-1); | ||
| percent = response[1]; | ||
| percent2 = percent.substring(0,response[1].length-1); | ||
| percentFloat=parseFloat(percent2); | ||
| // Total DL size | ||
| sizeDL=response[2]; | ||
| sizeDLFloat=parseFloat(sizeDL.substring(0,sizeDL.length-3)) | ||
| partDL=(sizeDLFloat*percentFloat/100).toFixed(2) | ||
| sizeDL = response[2]; | ||
| sizeDLFloat = parseFloat(sizeDL.substring(0,sizeDL.length-3)) | ||
| partDL = (sizeDLFloat*percentFloat/100).toFixed(2) | ||
| // Real-time Speed value | ||
| valSpeed="Downloading... "+ response[3]; | ||
| speedDL=response[3] | ||
| if(speedDL!=null){ | ||
| valSpeed="Downloading... "+ speedDL; | ||
| } | ||
@@ -67,2 +95,21 @@ // Update HTML | ||
| } | ||
| if (response[0]=="FORMAT"){ | ||
| formats = response[1] | ||
| // Add dropdown options | ||
| var x = document.getElementById("dropdown"); | ||
| for(a in formats){ | ||
| //console.log(formats[a]) | ||
| desc = formats[a][1]+" ("+formats[a][2]+")"+" - "+formats[a][3]; | ||
| console.log(desc) | ||
| var option = document.createElement("option"); | ||
| option.text = desc; | ||
| x.add(option, x[0]); | ||
| option.value = formats[a][0] | ||
| } | ||
| option.selected = "selected" | ||
| // Reveal Dropdown | ||
| document.getElementById('load-format').classList.add("hidden"); | ||
| document.getElementById("ddMenu").classList.remove("hidden"); | ||
| } | ||
@@ -69,0 +116,0 @@ }) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet