mirror of
https://github.com/S2-/ping.git
synced 2025-08-03 04:40:05 +02:00
52 lines
1.0 KiB
JavaScript
52 lines
1.0 KiB
JavaScript
import { loadOptions } from './utils.js';
|
|
|
|
let options = {};
|
|
|
|
function ping(server) {
|
|
console.log('pinging ' + server);
|
|
fetch(server)
|
|
.then(function(response) {
|
|
if (response.status === 200) {
|
|
browser.browserAction.setIcon({
|
|
path: 'icons/available-32.png'
|
|
});
|
|
} else {
|
|
browser.browserAction.setIcon({
|
|
path: 'icons/offline-32.png'
|
|
});
|
|
}
|
|
})
|
|
.catch((error) => {
|
|
browser.browserAction.setIcon({
|
|
path: 'icons/offline-32.png'
|
|
});
|
|
});
|
|
}
|
|
|
|
function reloadConfig() {
|
|
loadOptions().then((savedOptions) => {
|
|
options.server = savedOptions.server;
|
|
options.interval = savedOptions.interval;
|
|
|
|
if (options.server && options.interval >= 1) {
|
|
ping(options.server);
|
|
|
|
if (options.pinger) {
|
|
clearInterval(options.pinger);
|
|
}
|
|
options.pinger = setInterval(function() {
|
|
ping(options.server);
|
|
}, options.interval * 1000);
|
|
}
|
|
});
|
|
}
|
|
|
|
browser.runtime.onMessage.addListener(function(request, sender, sendResponse) {
|
|
if (request === 'configChanged') {
|
|
reloadConfig();
|
|
}
|
|
});
|
|
|
|
//startup
|
|
reloadConfig();
|