Compare commits
3 commits
2fea85dfc3
...
c59a28c126
Author | SHA1 | Date | |
---|---|---|---|
|
c59a28c126 | ||
|
b2390e5b54 | ||
|
d486e5a637 |
2 changed files with 17 additions and 5 deletions
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
*.zip
|
||||
*.xpi
|
20
dialog.js
20
dialog.js
|
@ -3,6 +3,13 @@ if (window.browser === undefined) {
|
|||
window.browser = window.chrome;
|
||||
}
|
||||
|
||||
function errorLogger(action) {
|
||||
function log(error) {
|
||||
console.log(`Error: ${action}:`, error);
|
||||
}
|
||||
return log;
|
||||
}
|
||||
|
||||
function createRedirect(id, from, transform) {
|
||||
return {
|
||||
id: id,
|
||||
|
@ -28,11 +35,11 @@ function updateRedirects(settings) {
|
|||
transform.password = settings.password;
|
||||
}
|
||||
const redirects = [];
|
||||
if (settings.enabled) {
|
||||
if (settings.enabled && settings.instance !== '') {
|
||||
redirects.push(createRedirect(1, '||twitter.com', transform));
|
||||
redirects.push(createRedirect(2, '||x.com', transform));
|
||||
}
|
||||
browser.declarativeNetRequest.updateDynamicRules({
|
||||
return browser.declarativeNetRequest.updateDynamicRules({
|
||||
addRules: redirects,
|
||||
removeRuleIds: [1, 2],
|
||||
});
|
||||
|
@ -55,8 +62,11 @@ function setupSettingsForm(settings) {
|
|||
settings.instance = instance.value;
|
||||
settings.username = username.value;
|
||||
settings.password = password.value;
|
||||
browser.storage.local.set(settings);
|
||||
updateRedirects(settings);
|
||||
browser.storage.local.set(settings)
|
||||
.then(
|
||||
() => updateRedirects(settings),
|
||||
errorLogger('browser.storage.local.set')
|
||||
).catch(errorLogger('updateRedirects'));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -66,4 +76,4 @@ browser.storage.local.get({
|
|||
instance: '',
|
||||
username: '',
|
||||
password: '',
|
||||
}).then(setupSettingsForm);
|
||||
}).then(setupSettingsForm, errorLogger('browser.storage.local.get'));
|
||||
|
|
Loading…
Reference in a new issue