make code compatible with manifest_version v3

This commit is contained in:
Thomas Rupprecht 2023-01-20 17:12:49 +01:00
parent c91e519c08
commit 74a0d577ee
1 changed files with 12 additions and 26 deletions

View File

@ -10,6 +10,16 @@ browser.runtime.onInstalled.addListener(async (details) => {
}
});
browser.runtime.onStartup.addListener(async () => {
await browser.storage.local.remove(['calendar', 'spaceApi']);
});
browser.alarms.onAlarm.addListener((alarm) => {
if (alarm.name === 'fetchData') {
fetchNewData();
}
});
/**
* @param {string} url
* @returns {Promise<any>}
@ -76,24 +86,9 @@ async function fetchNewData() {
}
}
browser.runtime.onStartup.addListener(async () => {
await browser.storage.local.remove(['calendar', 'spaceApi']);
});
/**
* @param {Alarm} alarm
*/
function handleAlarm(alarm) {
if (alarm.name === 'fetchData') {
fetchNewData();
}
}
function startFetching() {
function init() {
fetchNewData();
browser.alarms.onAlarm.addListener(handleAlarm);
const now = new Date();
now.setMinutes(Math.ceil((now.getMinutes() + 1) / REFRESH_TIMEOUT) * REFRESH_TIMEOUT, 0, 0);
browser.alarms.create('fetchData', {
@ -102,13 +97,4 @@ function startFetching() {
});
}
globalThis.addEventListener('offline', async () => {
browser.alarms.onAlarm.removeListener(handleAlarm);
await browser.alarms.clear('fetchData');
});
globalThis.addEventListener('online', () => {
startFetching();
});
if (globalThis.navigator.onLine) {
startFetching();
}
init();