mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-17 03:44:25 +03:00
37 lines
822 B
JavaScript
37 lines
822 B
JavaScript
SB = {};
|
|
|
|
function configProxy() {
|
|
chrome.storage.onChanged.addListener((changes, namespace) => {
|
|
for (key in changes) {
|
|
SB.localconfig[key] = changes[key].newValue;
|
|
}
|
|
});
|
|
var handler = {
|
|
set: function(obj, prop, value) {
|
|
chrome.storage.sync.set({
|
|
[prop]: value
|
|
})
|
|
},
|
|
get: function(obj, prop) {
|
|
return SB.localconfig[prop]
|
|
}
|
|
};
|
|
return new Proxy({}, handler);
|
|
}
|
|
|
|
fetchConfig = _ => new Promise(function(resolve, reject) {
|
|
chrome.storage.sync.get(null, function(items) {
|
|
SB.localconfig = items; // Data is ready
|
|
resolve();
|
|
});
|
|
});
|
|
|
|
async function config() {
|
|
SB.localconfig = {};
|
|
await fetchConfig();
|
|
SB.config = configProxy();
|
|
}
|
|
|
|
// Sync config
|
|
config();
|