Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
b1dc1a0d21 | |||
74a0d577ee | |||
c91e519c08 | |||
a3890589b3 |
4
package-lock.json
generated
4
package-lock.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "usrspace-browser-addon",
|
"name": "usrspace-browser-addon",
|
||||||
"version": "0.8.7",
|
"version": "0.9.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "usrspace-browser-addon",
|
"name": "usrspace-browser-addon",
|
||||||
"version": "0.8.7",
|
"version": "0.9.0",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "usrspace-browser-addon",
|
"name": "usrspace-browser-addon",
|
||||||
"description": "WebExtension for the Hacker-/Maker-Space /usr/space",
|
"description": "WebExtension for the Hacker-/Maker-Space /usr/space",
|
||||||
"version": "0.8.7",
|
"version": "0.9.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"webextension-polyfill": "^0.10.0"
|
"webextension-polyfill": "^0.10.0"
|
||||||
},
|
},
|
||||||
|
|
|
@ -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
|
* @param {string} url
|
||||||
* @returns {Promise<any>}
|
* @returns {Promise<any>}
|
||||||
|
@ -52,8 +62,8 @@ async function fetchNewData() {
|
||||||
|
|
||||||
const badgeText = browser.i18n.getMessage(spaceApiJson.state.open ? 'badgeOpen' : eventActive ? 'badgeEvent' : 'badgeClosed');
|
const badgeText = browser.i18n.getMessage(spaceApiJson.state.open ? 'badgeOpen' : eventActive ? 'badgeEvent' : 'badgeClosed');
|
||||||
const badgeBgColor = spaceApiJson.state.open ? BADGE_COLORS.open : eventActive ? BADGE_COLORS.event : BADGE_COLORS.closed;
|
const badgeBgColor = spaceApiJson.state.open ? BADGE_COLORS.open : eventActive ? BADGE_COLORS.event : BADGE_COLORS.closed;
|
||||||
await browser.browserAction.setBadgeText({text: badgeText});
|
await browser.action.setBadgeText({text: badgeText});
|
||||||
await browser.browserAction.setBadgeBackgroundColor({color: badgeBgColor});
|
await browser.action.setBadgeBackgroundColor({color: badgeBgColor});
|
||||||
|
|
||||||
const {spaceApi} = await browser.storage.local.get('spaceApi');
|
const {spaceApi} = await browser.storage.local.get('spaceApi');
|
||||||
if (spaceApi && spaceApi.state.open !== spaceApiJson.state.open) {
|
if (spaceApi && spaceApi.state.open !== spaceApiJson.state.open) {
|
||||||
|
@ -76,23 +86,8 @@ async function fetchNewData() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
browser.runtime.onStartup.addListener(async () => {
|
function init() {
|
||||||
await browser.storage.local.remove(['calendar', 'spaceApi']);
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {Alarm} alarm
|
|
||||||
*/
|
|
||||||
function handleAlarm(alarm) {
|
|
||||||
if (alarm.name === 'fetchData') {
|
|
||||||
fetchNewData();
|
fetchNewData();
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function startFetching() {
|
|
||||||
fetchNewData();
|
|
||||||
|
|
||||||
browser.alarms.onAlarm.addListener(handleAlarm);
|
|
||||||
|
|
||||||
const now = new Date();
|
const now = new Date();
|
||||||
now.setMinutes(Math.ceil((now.getMinutes() + 1) / REFRESH_TIMEOUT) * REFRESH_TIMEOUT, 0, 0);
|
now.setMinutes(Math.ceil((now.getMinutes() + 1) / REFRESH_TIMEOUT) * REFRESH_TIMEOUT, 0, 0);
|
||||||
|
@ -102,13 +97,4 @@ function startFetching() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
globalThis.addEventListener('offline', async () => {
|
init();
|
||||||
browser.alarms.onAlarm.removeListener(handleAlarm);
|
|
||||||
await browser.alarms.clear('fetchData');
|
|
||||||
});
|
|
||||||
globalThis.addEventListener('online', () => {
|
|
||||||
startFetching();
|
|
||||||
});
|
|
||||||
if (globalThis.navigator.onLine) {
|
|
||||||
startFetching();
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"manifest_version": 3,
|
||||||
"name": "__MSG_extensionName__",
|
"name": "__MSG_extensionName__",
|
||||||
"description": "__MSG_extensionDescription__",
|
"description": "__MSG_extensionDescription__",
|
||||||
"version": "0.8.7",
|
"version": "0.9.0",
|
||||||
"icons": {
|
"icons": {
|
||||||
"48": "icons/favicon.svg",
|
"48": "icons/favicon.svg",
|
||||||
"96": "icons/favicon.svg"
|
"96": "icons/favicon.svg"
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
"background": {
|
"background": {
|
||||||
"page": "background.html"
|
"page": "background.html"
|
||||||
},
|
},
|
||||||
"browser_action": {
|
"action": {
|
||||||
"browser_style": true,
|
"browser_style": true,
|
||||||
"default_title": "__MSG_buttonTitle__",
|
"default_title": "__MSG_buttonTitle__",
|
||||||
"default_icon": "icons/favicon.svg",
|
"default_icon": "icons/favicon.svg",
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
"browser_specific_settings": {
|
"browser_specific_settings": {
|
||||||
"gecko": {
|
"gecko": {
|
||||||
"id": "{c9a907ad-a047-4cf6-8b5d-95097d31aa5b}",
|
"id": "{c9a907ad-a047-4cf6-8b5d-95097d31aa5b}",
|
||||||
"strict_min_version": "79.0"
|
"strict_min_version": "109.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue