aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages/background
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-06-05 15:54:13 +0300
committerManeraKai <manerakai@protonmail.com>2022-06-05 15:54:13 +0300
commit78dcb3671064eec9ddbe770688fcc31dd30a8091 (patch)
tree9f7da74fdab3af34b7cb64000cd504f25b3cc3a4 /src/pages/background
parentClarifying authenticate instances #311 (diff)
downloadlibredirect-78dcb3671064eec9ddbe770688fcc31dd30a8091.zip
Fixing bugs. Preparing for release
Diffstat (limited to 'src/pages/background')
-rw-r--r--src/pages/background/background.js63
-rw-r--r--src/pages/background/reset_warning.html13
-rw-r--r--src/pages/background/reset_warning.js11
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>
+ &nbsp;
+ <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';