init logic for basic settings

This commit is contained in:
iw0 2024-05-29 13:52:45 +02:00
parent 8c79c437c9
commit 8d433afa45

12
bg.js
View File

@ -1,12 +1,13 @@
browser.runtime.onInstalled.addListener((ev) => { browser.runtime.onInstalled.addListener((ev) => {
if (ev.reason == "update") { if (ev.reason == "update") {
initialiseSettings();
updateIsSignificant(ev.previousVersion).then( updateIsSignificant(ev.previousVersion).then(
v => { v => {
if (v) launchInfoPage(); if (v) launchInfoPage();
} }
) )
} else if (ev.reason == "install") { } else if (ev.reason == "install") {
browser.runtime.openOptionsPage() initialiseSettings().then(() => browser.runtime.openOptionsPage());
} }
}) })
@ -17,4 +18,11 @@ async function updateIsSignificant(previousVersion) {
} }
function launchInfoPage(){ function launchInfoPage(){
browser.tabs.create({url: "/changelog.htm", active: false}) browser.tabs.create({url: "/changelog.htm", active: false})
} }
async function initialiseSettings(){
let defaultSettings = {"enable": true, "showChangelog": true};
const presentSettings = await browser.storage.sync.get();
defaultSettings = Object.fromEntries(Object.entries(defaultSettings).filter((k, v) => !(k in presentSettings)));
await browser.storage.sync.set(defaultSettings);
}