2024-09-20 22:09:09 +00:00
|
|
|
(function() {
|
|
|
|
|
|
|
|
var unreadImg = function() {
|
|
|
|
return atob("GBiBAAAAAAAAAAAAAB//+D///D///D///D///D///D///D5mfD5mfD///D///D///D///D///D///B//+APgAAOAAAOAAAAAAAAAAA==");
|
|
|
|
}
|
|
|
|
var allImg = function() {
|
|
|
|
return atob("GBiBAAAAAAAAAAB+AAD/AAPDwA8A8B4AeDgAHDgAHDwAPD8A/D/D/D/n/D///D///D///D///D///D///B//+AAAAAAAAAAAAAAAAA==");
|
|
|
|
}
|
|
|
|
|
|
|
|
var debug = function(o) {
|
|
|
|
//console.log(o);
|
|
|
|
}
|
|
|
|
var msgUnread;
|
|
|
|
var msgAll;
|
|
|
|
var msgs = require("messages");
|
|
|
|
|
2024-09-30 10:07:12 +00:00
|
|
|
var getAllMSGs = function() {
|
2024-09-20 22:09:09 +00:00
|
|
|
if (msgAll === undefined) {
|
|
|
|
debug("msgAll is undefined");
|
2024-09-30 10:07:12 +00:00
|
|
|
msgAll = msgs.getMessages().filter(m => !['call', 'map', 'music'].includes(m.id)).length;
|
2024-09-20 22:09:09 +00:00
|
|
|
}
|
|
|
|
return msgAll;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var getUnreadMGS = function() {
|
|
|
|
if (msgUnread === undefined) {
|
|
|
|
debug("msgUnread is undefined");
|
2024-09-30 10:07:12 +00:00
|
|
|
msgUnread = msgs.getMessages().filter(m => m.new && !['call', 'map', 'music'].includes(m.id)).length;
|
2024-09-20 22:09:09 +00:00
|
|
|
}
|
|
|
|
return msgUnread;
|
|
|
|
}
|
|
|
|
|
|
|
|
var msgCounter = function(type, msg) {
|
|
|
|
var msgsNow = msgs.getMessages(msg);
|
2024-09-30 10:07:12 +00:00
|
|
|
msgUnread = msgsNow.filter(m => m.new && !['call', 'map', 'music'].includes(m.id)).length;
|
|
|
|
msgAll = msgsNow.filter(m => !['call', 'map', 'music'].includes(m.id)).length;
|
|
|
|
//TODO find nicer way to redraw current shown CI counter
|
2024-09-20 22:09:09 +00:00
|
|
|
info.items[0].emit("redraw");
|
2024-09-30 10:07:12 +00:00
|
|
|
info.items[1].emit("redraw");
|
2024-09-20 22:09:09 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
var info = {
|
|
|
|
name: "Messages",
|
|
|
|
img: unreadImg(),
|
|
|
|
items: [
|
|
|
|
{ name : "Unread",
|
|
|
|
get : () => {
|
|
|
|
return {
|
|
|
|
text : getUnreadMGS(),
|
|
|
|
img : unreadImg()
|
|
|
|
};
|
|
|
|
},
|
|
|
|
show : function() {
|
|
|
|
Bangle.on("message", msgCounter);
|
|
|
|
},
|
|
|
|
hide : function() {
|
|
|
|
Bangle.removeListener("message", msgCounter);
|
|
|
|
},
|
|
|
|
run : () => {
|
|
|
|
require("messages").openGUI();
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{ name : "All",
|
|
|
|
get : () => {
|
|
|
|
return {
|
2024-09-30 10:07:12 +00:00
|
|
|
text : getAllMSGs(),
|
|
|
|
img : allImg()
|
2024-09-20 22:09:09 +00:00
|
|
|
};
|
|
|
|
},
|
|
|
|
show : function() {
|
|
|
|
Bangle.on("message", msgCounter);
|
|
|
|
},
|
|
|
|
hide : function() {
|
|
|
|
Bangle.removeListener("message", msgCounter);
|
|
|
|
},
|
|
|
|
run : () => {
|
|
|
|
require("messages").openGUI();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
};
|
|
|
|
return info;
|
|
|
|
})
|