diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-06-05 15:54:13 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-06-05 15:54:13 +0300 |
commit | 78dcb3671064eec9ddbe770688fcc31dd30a8091 (patch) | |
tree | 9f7da74fdab3af34b7cb64000cd504f25b3cc3a4 /src/pages/background | |
parent | Clarifying authenticate instances #311 (diff) | |
download | libredirect-78dcb3671064eec9ddbe770688fcc31dd30a8091.zip |
Fixing bugs. Preparing for release
Diffstat (limited to 'src/pages/background')
-rw-r--r-- | src/pages/background/background.js | 63 | ||||
-rw-r--r-- | src/pages/background/reset_warning.html | 13 | ||||
-rw-r--r-- | src/pages/background/reset_warning.js | 11 |
3 files changed, 66 insertions, 21 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js index b8787f34..afb63c51 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -21,38 +21,59 @@ import lbryHelper from "../../assets/javascripts/lbry.js"; window.browser = window.browser || window.chrome; +function openResetWarning() { + return new Promise(resolve => { + browser.storage.local.get(null, r => { + const old = encodeURIComponent(JSON.stringify(r)) + browser.tabs.create({ url: browser.runtime.getURL(`/pages/background/reset_warning.html?data=${old}`) }); + resolve(); + }) + }) +} + + browser.runtime.onInstalled.addListener( async details => { // if (details.reason == 'install') { - if (details.reason == 'install' || details.reason == "update") { - if (details.reason == "update") browser.tabs.create({ url: browser.runtime.getURL("/pages/background/reset_warning.html") }); + if (details.reason == 'install' || (details.reason == "update" && details.previousVersion != browser.runtime.getManifest().version)) { + if (details.reason == "update") await openResetWarning(); fetch('/instances/blacklist.json').then(response => response.text()).then(async data => { - await browser.storage.local.clear(); - await browser.storage.local.set({ cloudflareBlackList: JSON.parse(data).cloudflare }) - await browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }) - generalHelper.initDefaults(); - youtubeHelper.initDefaults(); - youtubeMusicHelper.initDefaults(); - twitterHelper.initDefaults(); - instagramHelper.initDefaults(); - mapsHelper.initDefaults(); - searchHelper.initDefaults(); - translateHelper.initDefaults(); - mediumHelper.initDefaults(); - redditHelper.initDefaults(); - wikipediaHelper.initDefaults(); - imgurHelper.initDefaults(); - tiktokHelper.initDefaults(); - sendTargetsHelper.initDefaults(); - peertubeHelper.initDefaults(); - lbryHelper.initDefaults(); + browser.storage.local.clear( + () => { + browser.storage.local.set({ cloudflareBlackList: JSON.parse(data).cloudflare }, + () => { + browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }, + () => { + generalHelper.initDefaults(); + youtubeHelper.initDefaults(); + youtubeMusicHelper.initDefaults(); + twitterHelper.initDefaults(); + instagramHelper.initDefaults(); + mapsHelper.initDefaults(); + searchHelper.initDefaults(); + translateHelper.initDefaults(); + mediumHelper.initDefaults(); + redditHelper.initDefaults(); + wikipediaHelper.initDefaults(); + imgurHelper.initDefaults(); + tiktokHelper.initDefaults(); + sendTargetsHelper.initDefaults(); + peertubeHelper.initDefaults(); + lbryHelper.initDefaults(); + }) + }) + }); + }) } } ) youtubeHelper.pasteInvidiousCookies(); +youtubeHelper.pastePipedLocalStorage(); +youtubeHelper.pastePipedMaterialLocalStorage(); translateHelper.pasteSimplyTranslateCookies(); +translateHelper.pasteLingvaLocalStorage(); twitterHelper.pasteNitterCookies(); wikipediaHelper.pasteWikilessCookies(); searchHelper.pasteSearxCookies(); diff --git a/src/pages/background/reset_warning.html b/src/pages/background/reset_warning.html index a3feee72..d2d493e0 100644 --- a/src/pages/background/reset_warning.html +++ b/src/pages/background/reset_warning.html @@ -47,7 +47,20 @@ previous version.</p> <p>Sorry for the inconvenience, but we're going in a fast development process and can't support nor convert older settings. It will reach a stable plateau though.</p> + + + <a id="export-settings" class="button button-inline"> + <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" + fill="currentColor"> + <path + d="M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"> + </path> + </svg> + + <x data-localise="__MSG_exportSettings__">Export Settings</x> + </a> </div> </body> +<script src="reset_warning.js"></script> </html> \ No newline at end of file diff --git a/src/pages/background/reset_warning.js b/src/pages/background/reset_warning.js new file mode 100644 index 00000000..9c9e9800 --- /dev/null +++ b/src/pages/background/reset_warning.js @@ -0,0 +1,11 @@ +let params = new URLSearchParams(location.search); + +const resultString = JSON.stringify( + JSON.parse(decodeURIComponent(params.get('data'))), + null, + ' ' +); + +let exportSettingsElement = document.getElementById("export-settings"); +exportSettingsElement.href = 'data:application/json;base64,' + btoa(resultString); +exportSettingsElement.download = 'libredirect-settings.json'; |