From b657b1ae2ba818432fa001b07ed40e04348bb011 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Mon, 18 Apr 2022 10:25:50 +0300 Subject: Adding Raw Link Copy feature #165 --- src/pages/popup/popup.html | 16 +++++++++++----- src/pages/popup/popup.js | 31 ++++++++++++++++++++++++++++++- src/pages/popup/style.css | 4 ++++ 3 files changed, 45 insertions(+), 6 deletions(-) (limited to 'src/pages/popup') diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html index 2f83116c..2c4f76d5 100644 --- a/src/pages/popup/popup.html +++ b/src/pages/popup/popup.html @@ -169,26 +169,32 @@
- + Instance - + Settings + + + + + Copy Raw +
- - + \ No newline at end of file diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js index 14f59dfc..53e8c103 100644 --- a/src/pages/popup/popup.js +++ b/src/pages/popup/popup.js @@ -59,6 +59,7 @@ async function wholeInit() { await mediumHelper.init(); }; +let copyRawElement = document.getElementById('copy_raw'); wholeInit().then(() => { disableTwitterElement.checked = !twitterHelper.getDisable(); disableYoutubeElement.checked = !youtubeHelper.getDisable(); @@ -79,6 +80,7 @@ wholeInit().then(() => { let changeInstanceElement = document.getElementById("change-instance") changeInstanceElement.addEventListener("click", switchInstance); + copyRawElement.addEventListener("click", copyRaw); }) disableTwitterElement.addEventListener("change", @@ -153,7 +155,6 @@ document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage() ); - function switchInstance() { browser.tabs.query({ active: true, currentWindow: true }, function (tabs) { let currTab = tabs[0]; @@ -197,6 +198,34 @@ function switchInstance() { return false; } +function copyRaw() { + browser.tabs.query({ active: true, currentWindow: true }, function (tabs) { + let currTab = tabs[0]; + if (currTab) { + let url = currTab.url; + let tabUrl + try { tabUrl = new URL(url); } + catch (_) { return false; } + let newUrl; + newUrl = youtubeHelper.reverse(tabUrl); + if (!newUrl) newUrl = twitterHelper.reverse(tabUrl); + if (!newUrl) newUrl = instagramHelper.reverse(tabUrl); + if (!newUrl) newUrl = tiktokHelper.reverse(tabUrl); + if (!newUrl) newUrl = imgurHelper.reverse(tabUrl); + if (newUrl) { + navigator.clipboard.writeText(newUrl); + const oldHtml = copyRawElement.innerHTML; + copyRawElement.innerHTML = ` + + + + Copied`; + setTimeout(() => copyRawElement.innerHTML = oldHtml, 1000); + } + } + }) +} + let popupFrontends; generalHelper.init().then(() => { popupFrontends = generalHelper.getPopupFrontends(); diff --git a/src/pages/popup/style.css b/src/pages/popup/style.css index a2fc1256..4cc56145 100644 --- a/src/pages/popup/style.css +++ b/src/pages/popup/style.css @@ -3,6 +3,10 @@ body { min-height: auto; } +html, body { + margin: 0; +} + .hide { display: none !important; } \ No newline at end of file -- cgit 1.4.1