Add badges to favicon

This commit is contained in:
Willian Rodrigues Barbosa
2021-10-29 22:25:32 -03:00
parent d4c9431142
commit 036218f711
4 changed files with 104 additions and 14918 deletions

View File

@@ -1,5 +1,6 @@
import { io } from "socket.io-client";
import { useToast } from "vue-toastification";
import Favico from "favico.js";
const toast = useToast();
let socket;
@@ -10,6 +11,12 @@ const noSocketIOPages = [
"/"
];
const favicon = new Favico({
animation: "none"
});
let downMonitors = [];
export default {
data() {
@@ -118,10 +125,14 @@ export default {
if (data.important) {
if (data.status === 0) {
downMonitors.push(data.monitorID);
favicon.badge(downMonitors.length);
toast.error(`[${this.monitorList[data.monitorID].name}] [DOWN] ${data.msg}`, {
timeout: false,
});
} else if (data.status === 1) {
downMonitors = downMonitors.filter(monitor => monitor !== data.monitorID);
favicon.badge(downMonitors.length);
toast.success(`[${this.monitorList[data.monitorID].name}] [Up] ${data.msg}`, {
timeout: 20000,
});
@@ -138,6 +149,11 @@ export default {
});
socket.on("heartbeatList", (monitorID, data, overwrite = false) => {
const lastElement = data.at(-1);
if (lastElement.status === 0) {
downMonitors.push(monitorID);
favicon.badge(downMonitors.length);
}
if (! (monitorID in this.heartbeatList) || overwrite) {
this.heartbeatList[monitorID] = data;
} else {
@@ -304,11 +320,15 @@ export default {
},
deleteMonitor(monitorID, callback) {
downMonitors = downMonitors.filter(monitor => monitor !== monitorID);
favicon.badge(downMonitors.length);
socket.emit("deleteMonitor", monitorID, callback);
},
clearData() {
console.log("reset heartbeat list");
downMonitors = [];
favicon.badge(0);
this.heartbeatList = {};
this.importantHeartbeatList = {};
},