about summary refs log tree commit diff stats
path: root/src/assets/javascripts/frontend.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-08-06 09:12:43 +0300
committerManeraKai <manerakai@protonmail.com>2022-08-06 09:12:43 +0300
commit93b181901c45481a3e6e433b7169debc817353fe (patch)
tree0986195fa98333335aed609b3b6f43c77c68754c /src/assets/javascripts/frontend.js
parentUpdate blacklist pt1 (diff)
downloadlibredirect-93b181901c45481a3e6e433b7169debc817353fe.zip
Made setRedirect functions async
Diffstat (limited to 'src/assets/javascripts/frontend.js')
-rw-r--r--src/assets/javascripts/frontend.js33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/assets/javascripts/frontend.js b/src/assets/javascripts/frontend.js
new file mode 100644
index 00000000..73b864b4
--- /dev/null
+++ b/src/assets/javascripts/frontend.js
@@ -0,0 +1,33 @@
+class FrontEnd {
+	constructor({ name, redirect, frontends, protocols, enable }) {
+		this.name = name
+		this.redirect = redirect
+		this.enable = enable
+		fetch("/instances/data.json")
+			.then(response => response.text())
+			.then(async data => {
+				const json = JSON.parse(data)
+				this.frontends = {}
+				for (const frontend of frontends) {
+					this.frontends[frontend] = json[frontend]
+					for (const protocol of json[frontend]) {
+						browser.storage.local.set({
+							[`${name}_${protocol}_checks`]: json[frontend][protocol],
+						})
+					}
+				}
+			})
+
+		browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {})
+		this.protocols = protocols
+	}
+	switchInstance(url) {}
+}
+
+let Reddit = new FrontEnd({
+	name: "youtube",
+	redirect: function () {},
+	targets: [/^https?:\/{2}(www\.|old\.|np\.|new\.|amp\.|)reddit\.com/, /^https?:\/{2}(i\.|preview\.)redd\.it/],
+	frontends: ["libreddit", "teddit"],
+	enable: true,
+})