diff --git a/apps/widcal/ChangeLog b/apps/widcal/ChangeLog new file mode 100644 index 000000000..a4bc24d1a --- /dev/null +++ b/apps/widcal/ChangeLog @@ -0,0 +1 @@ +0.01: First version \ No newline at end of file diff --git a/apps/widcal/metadata.json b/apps/widcal/metadata.json new file mode 100644 index 000000000..74ab6d488 --- /dev/null +++ b/apps/widcal/metadata.json @@ -0,0 +1,13 @@ +{ + "id": "widcal", + "name": "Calendar Widget", + "version": "0.01", + "description": "Widget with the current date", + "icon": "widget.png", + "type": "widget", + "tags": "widget,calendar", + "supports": ["BANGLEJS","BANGLEJS2"], + "storage": [ + {"name":"widcal.wid.js","url":"widget.js"} + ] +} diff --git a/apps/widcal/widget.js b/apps/widcal/widget.js new file mode 100644 index 000000000..4214d280a --- /dev/null +++ b/apps/widcal/widget.js @@ -0,0 +1,30 @@ +(function() { + WIDGETS["cal"] = { + area: "tl", width: 22, draw: function() { + const x = this.x, y = this.y, + x2 = x+21, y2 = y+23, + date = new Date(), + month = require("locale").month(date, true), + day = date.getDate(); + + g.reset().setFontAlign(0, 0) // center all text + // header + .setBgColor("#f00").setColor("#fff") + .clearRect(x, y, x2, y+8).setFont("4x6").drawString(month, (x+x2)/2+1, y+5) + // date + .setBgColor("#fff").setColor("#000") + .clearRect(x, y+9, x2, y2).setFont("Vector:16").drawString(day, (x+x2)/2+2, y+17); + if (!g.theme.dark) { + // black border around date for light themes + g.setColor("#000").drawPoly([ + x, y+9, + x, y2, + x2, y2, + x2, y+9 + ]); + } + // redraw when date changes + setTimeout(()=>WIDGETS["cal"].draw(), (86401 - Math.floor(date/1000) % 86400)*1000); + } + }; +})(); diff --git a/apps/widcal/widget.png b/apps/widcal/widget.png new file mode 100644 index 000000000..254382eb8 Binary files /dev/null and b/apps/widcal/widget.png differ