106 lines
3.4 KiB
JavaScript
106 lines
3.4 KiB
JavaScript
import {host} from './background.js'
|
|
|
|
|
|
const saveOptions = (e) => {
|
|
saveHost('diaspora-host', 'diasporaHost')
|
|
saveHost('friendica-host', 'friendicaHost')
|
|
saveHost('gnusocial-host', 'gnusocialHost')
|
|
saveHost('hubzilla-host', 'hubzillaHost')
|
|
saveHost('lemmy-host', 'lemmyHost')
|
|
saveHost('mastodon-host', 'mastodonHost')
|
|
saveHost('pleroma-host', 'pleromaHost')
|
|
saveHost('socialhome-host', 'socialhomeHost')
|
|
saveHost('xmpp-host', 'xmppHost')
|
|
|
|
saveCheckbox('diaspora-check', 'diasporaCheck')
|
|
saveCheckbox('friendica-check', 'friendicaCheck')
|
|
saveCheckbox('gnusocial-check', 'gnusocialCheck')
|
|
saveCheckbox('hubzilla-check', 'hubzillaCheck')
|
|
saveCheckbox('lemmy-check', 'lemmyCheck')
|
|
saveCheckbox('mastodon-check', 'mastodonCheck')
|
|
saveCheckbox('pleroma-check', 'pleromaCheck')
|
|
saveCheckbox('socialhome-check', 'socialhomeCheck')
|
|
saveCheckbox('xmpp-check', 'xmppCheck')
|
|
|
|
e.preventDefault()
|
|
}
|
|
|
|
|
|
const saveHost = (hostId, hostKey) => {
|
|
browser.storage.sync.set({
|
|
[hostKey] : document.querySelector(`#${hostId}`).value
|
|
})
|
|
}
|
|
|
|
const saveCheckbox = (checkId, checkKey) => {
|
|
let checkbox = document.getElementById(`${checkId}`)
|
|
if (checkbox.checked) {
|
|
browser.storage.sync.set({
|
|
[checkKey] : document.querySelector(`#${checkId}`).checked = true
|
|
})
|
|
} else {
|
|
browser.storage.sync.set({
|
|
[checkKey] : document.querySelector(`#${checkId}`).checked = false
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
const restoreOptions = () => {
|
|
restoreHost('diasporaHost', 'diaspora-host', host.diasporaDefault)
|
|
restoreHost('friendicaHost', 'friendica-host', host.friendicaDefault)
|
|
restoreHost('gnusocialHost', 'gnusocial-host', host.gnusocialDefault)
|
|
restoreHost('hubzillaHost', 'hubzilla-host', host.hubzillaDefault)
|
|
restoreHost('lemmyHost', 'lemmy-host', host.lemmyDefault)
|
|
restoreHost('mastodonHost', 'mastodon-host', host.mastodonDefault)
|
|
restoreHost('pleromaHost', 'pleroma-host', host.pleromaDefault)
|
|
restoreHost('socialhomeHost', 'socialhome-host', host.socialhomeDefault)
|
|
restoreHost('xmppHost', 'xmpp-host', host.xmppDefault)
|
|
|
|
restoreCheckbox('diasporaCheck', 'diaspora-check')
|
|
restoreCheckbox('friendicaCheck', 'friendica-check')
|
|
restoreCheckbox('gnusocialCheck', 'gnusocial-check')
|
|
restoreCheckbox('hubzillaCheck', 'hubzilla-check')
|
|
restoreCheckbox('lemmyCheck', 'lemmy-check')
|
|
restoreCheckbox('mastodonCheck', 'mastodon-check')
|
|
restoreCheckbox('pleromaCheck', 'pleroma-check')
|
|
restoreCheckbox('socialhomeCheck', 'socialhome-check')
|
|
restoreCheckbox('xmppCheck', 'xmpp-check')
|
|
}
|
|
|
|
|
|
const restoreHost = (hostKey, hostId, hostDefault) => {
|
|
let gettingItem = browser.storage.sync.get(`${hostKey}`)
|
|
gettingItem.then((res) => {
|
|
document.querySelector(`#${hostId}`).value = res[hostKey] || hostDefault
|
|
})
|
|
}
|
|
|
|
const restoreCheckbox = (checkKey, checkId) => {
|
|
const checkbox = chrome.storage.sync.get(`${checkKey}`, value => {
|
|
if (value[checkKey]) {
|
|
document.getElementById(`${checkId}`).checked = true
|
|
}
|
|
})
|
|
}
|
|
|
|
|
|
document.addEventListener('DOMContentLoaded', restoreOptions, saveCheckbox)
|
|
document.querySelector("form").addEventListener("submit", saveOptions)
|
|
|
|
// test zone
|
|
function onGot(item) {
|
|
console.log(item);
|
|
}
|
|
|
|
function onError(error) {
|
|
console.log(`Error: ${error}`);
|
|
}
|
|
|
|
let allItems = browser.storage.sync.get()
|
|
allItems.then(onGot, onError)
|
|
|
|
const itemValueOpt = chrome.storage.sync.get('pleromaCheck', item => {
|
|
console.log(item.pleromaCheck)
|
|
})
|