Added export and import settings #58
This commit is contained in:
parent
55b3271ed7
commit
8f0be7fb1a
77
package-lock.json
generated
77
package-lock.json
generated
@ -6,6 +6,9 @@
|
||||
"": {
|
||||
"name": "libredirect",
|
||||
"license": "GPL-3.0-only",
|
||||
"dependencies": {
|
||||
"buffer": "^6.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"web-ext": "^6.7.0"
|
||||
},
|
||||
@ -727,7 +730,6 @@
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@ -741,8 +743,7 @@
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/bcrypt-pbkdf": {
|
||||
"version": "1.0.2",
|
||||
@ -831,10 +832,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"dev": true,
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@ -849,10 +849,9 @@
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
"ieee754": "^1.2.1"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer-alloc": {
|
||||
@ -3022,7 +3021,6 @@
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@ -3036,8 +3034,7 @@
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"peer": true
|
||||
]
|
||||
},
|
||||
"node_modules/ignore": {
|
||||
"version": "5.2.0",
|
||||
@ -5956,6 +5953,31 @@
|
||||
"through": "^2.3.8"
|
||||
}
|
||||
},
|
||||
"node_modules/unbzip2-stream/node_modules/buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"peer": true,
|
||||
"dependencies": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
}
|
||||
},
|
||||
"node_modules/unique-string": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
|
||||
@ -6972,9 +6994,7 @@
|
||||
"base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
|
||||
},
|
||||
"bcrypt-pbkdf": {
|
||||
"version": "1.0.2",
|
||||
@ -7054,14 +7074,12 @@
|
||||
}
|
||||
},
|
||||
"buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||
"requires": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
"ieee754": "^1.2.1"
|
||||
}
|
||||
},
|
||||
"buffer-alloc": {
|
||||
@ -8767,9 +8785,7 @@
|
||||
"ieee754": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
||||
"dev": true,
|
||||
"peer": true
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
|
||||
},
|
||||
"ignore": {
|
||||
"version": "5.2.0",
|
||||
@ -11081,6 +11097,19 @@
|
||||
"requires": {
|
||||
"buffer": "^5.2.1",
|
||||
"through": "^2.3.8"
|
||||
},
|
||||
"dependencies": {
|
||||
"buffer": {
|
||||
"version": "5.7.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
|
||||
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
||||
"dev": true,
|
||||
"peer": true,
|
||||
"requires": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.1.13"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"unique-string": {
|
||||
|
@ -22,5 +22,8 @@
|
||||
"homepage": "https://github.com/LibRedirect/LibRedirect#readme",
|
||||
"devDependencies": {
|
||||
"web-ext": "^6.7.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"buffer": "^6.0.3"
|
||||
}
|
||||
}
|
||||
|
1
src/assets/javascripts/helpers/buffer.js
Normal file
1
src/assets/javascripts/helpers/buffer.js
Normal file
File diff suppressed because one or more lines are too long
@ -74,7 +74,9 @@
|
||||
"https://nitter.winscloud.net",
|
||||
"https://nitter.tiekoetter.com",
|
||||
"https://nitter.spaceint.fr",
|
||||
"https://twtr.bch.bar"
|
||||
"https://twtr.bch.bar",
|
||||
"https://nitter.exonip.de",
|
||||
"https://nitter.mastodon.pro"
|
||||
],
|
||||
"tor": [
|
||||
"http://3nzoldnxplag42gqjs23xvghtzf6t6yzssrtytnntc6ppc7xxuoneoad.onion",
|
||||
@ -272,6 +274,7 @@
|
||||
"https://serx.cf",
|
||||
"https://spot.ecloud.global",
|
||||
"https://suche.dasnetzundich.de",
|
||||
"https://suche.tromdienste.de",
|
||||
"https://suche.uferwerk.org",
|
||||
"https://swag.pw",
|
||||
"https://sx.catgirl.cloud",
|
||||
|
@ -55,8 +55,7 @@ mightyList['nitter'] = nitterList
|
||||
print('fetched Nitter')
|
||||
|
||||
# Bibliogram
|
||||
r = requests.get('https://bibliogram.art/api/instances')
|
||||
print(r.text)
|
||||
r = requests.get('https://bibliogram.1d4.us/api/instances')
|
||||
rJson = json.loads(r.text)
|
||||
bibliogramList = {}
|
||||
bibliogramList['normal'] = []
|
||||
|
@ -120,18 +120,24 @@
|
||||
<option value="dark-theme">Dark</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="buttons buttons-inline">
|
||||
<a class="button button-inline" id="update-instances">
|
||||
<span>Update Instances</span>
|
||||
Update Instances
|
||||
</a>
|
||||
|
||||
<label for="import-settings" class="button button-inline">
|
||||
Import Settings
|
||||
<input type="file" class="button button-inline" style="display:none;" id="import-settings">
|
||||
</label>
|
||||
|
||||
<a class="button button-inline" id="export-settings">
|
||||
Export Settings
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- <div class="buttons buttons-inline">
|
||||
<a class="button button-inline" id="export-settings">
|
||||
<span>Export Settings</span>
|
||||
</a>
|
||||
</div> -->
|
||||
|
||||
<div class="some-block option-block">
|
||||
<h4>Exceptions</h4>
|
||||
</div>
|
||||
|
@ -20,21 +20,34 @@ themeElement.addEventListener("change", (event) => {
|
||||
browser.storage.local.set({ theme: value });
|
||||
});
|
||||
|
||||
document.querySelector("#update-instances").addEventListener("click", () => {
|
||||
document.querySelector("#update-instances").innerHTML = '...';
|
||||
document.getElementById("update-instances").addEventListener("click", () => {
|
||||
document.getElementById("update-instances").innerHTML = '...';
|
||||
if (commonHelper.updateInstances()) {
|
||||
document.querySelector("#update-instances").innerHTML = 'Done!';
|
||||
document.getElementById("update-instances").innerHTML = 'Done!';
|
||||
new Promise(resolve => setTimeout(resolve, 1500)).then( // sleep 1500ms
|
||||
() => document.querySelector("#update-instances").innerHTML = 'Update Instances'
|
||||
() => document.getElementById("update-instances").innerHTML = 'Update Instances'
|
||||
)
|
||||
}
|
||||
else
|
||||
document.querySelector("#update-instances").innerHTML = 'Failed Miserabely';
|
||||
document.getElementById("update-instances").innerHTML = 'Failed Miserabely';
|
||||
});
|
||||
|
||||
// document.querySelector("#export-settings").addEventListener("click", () => {
|
||||
// browser.storage.local.get(null, result => console.log(result))
|
||||
// });
|
||||
let exportSettingsElement = document.getElementById("export-settings");
|
||||
browser.storage.local.get(null, result => {
|
||||
let resultString = JSON.stringify(result, null, ' ');
|
||||
exportSettingsElement.href = 'data:application/json;base64,' + btoa(resultString);
|
||||
exportSettingsElement.download = 'libredirect-settings.json';
|
||||
});
|
||||
|
||||
let importSettingsElement = document.getElementById("import-settings");
|
||||
importSettingsElement.addEventListener("change",
|
||||
_ => {
|
||||
let file = importSettingsElement.files[0];
|
||||
const reader = new FileReader();
|
||||
reader.readAsText(file);
|
||||
reader.onload = () => browser.storage.local.set({ ...JSON.parse(reader.result) })
|
||||
reader.onerror = error => reject(error);
|
||||
})
|
||||
|
||||
let nameCustomInstanceInput = document.getElementById("exceptions-custom-instance");
|
||||
let instanceTypeElement = document.getElementById("exceptions-custom-instance-type");
|
||||
|
@ -77,7 +77,7 @@ themeElement.addEventListener("change",
|
||||
);
|
||||
|
||||
let volumeElement = document.getElementById("invidious-volume");
|
||||
let volumeValueElement = document.querySelector("#volume-value");
|
||||
let volumeValueElement = document.getElementById("volume-value");
|
||||
volumeElement.addEventListener("input",
|
||||
() => {
|
||||
youtubeHelper.setVolume(volumeElement.value);
|
||||
|
@ -17,7 +17,7 @@ body {
|
||||
font-family: Sans-Serif;
|
||||
background-color: var(--bg-main);
|
||||
color: var(--text);
|
||||
overflow-x:hidden
|
||||
overflow-x: hidden
|
||||
}
|
||||
|
||||
div.some-block input[type="checkbox"] {
|
||||
@ -61,17 +61,14 @@ select {
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
/* a.button * {
|
||||
vertical-align: middle;
|
||||
} */
|
||||
|
||||
a.button:hover {
|
||||
.button:hover {
|
||||
background-color: var(--active);
|
||||
color: var(--text);
|
||||
stroke: var(--text);
|
||||
}
|
||||
|
||||
a.button:active {
|
||||
.button:active {
|
||||
background-color: var(--active);
|
||||
box-shadow: 0 var(--space) var(--bg-main);
|
||||
transform: translateY(4px);
|
||||
@ -213,9 +210,10 @@ div.buttons {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
a.button {
|
||||
.button {
|
||||
stroke: var(--text);
|
||||
display: flex;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border-radius: 5px;
|
||||
@ -223,7 +221,6 @@ a.button {
|
||||
color: var(--text);
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
/* width: 180px; */
|
||||
margin: 8px 20px;
|
||||
padding: 10px;
|
||||
text-decoration: none;
|
||||
@ -237,18 +234,18 @@ div.buttons-inline {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
a.button-inline {
|
||||
.button-inline {
|
||||
display: inline-block;
|
||||
margin: 7.5px 0;
|
||||
}
|
||||
|
||||
a.button:hover {
|
||||
.button:hover {
|
||||
background-color: var(--active);
|
||||
color: var(--text);
|
||||
stroke: var(--text);
|
||||
}
|
||||
|
||||
a.button:active {
|
||||
.button:active {
|
||||
background-color: var(--active);
|
||||
box-shadow: 0 var(--space) var(--bg-main);
|
||||
transform: translateY(1px);
|
||||
|
Loading…
x
Reference in New Issue
Block a user