diff --git a/apps.json b/apps.json index a84a8010c..ce63d3b00 100644 --- a/apps.json +++ b/apps.json @@ -951,5 +951,16 @@ {"name":"chrono.app.js","url":"chrono.js"}, {"name":"chrono.img","url":"chrono-icon.js","evaluate":true} ] + }, + { "id": "widhwt", + "name": "Hand Wash Timer", + "icon": "widget.png", + "version":"0.01", + "description": "Any swip will start your personal Bangle.js hand wash timer for 35 sec. Start washing after the short buzz and stop after the long buzz.", + "tags": "widget,tool", + "type":"widget", + "storage": [ + {"name":"widhwt.wid.js","url":"widget.js"} + ] } ] diff --git a/apps/widhwt/ChangeLog b/apps/widhwt/ChangeLog new file mode 100644 index 000000000..4c21f3ace --- /dev/null +++ b/apps/widhwt/ChangeLog @@ -0,0 +1 @@ +0.01: New Widget! diff --git a/apps/widhwt/widget.js b/apps/widhwt/widget.js new file mode 100644 index 000000000..55ffec028 --- /dev/null +++ b/apps/widhwt/widget.js @@ -0,0 +1,22 @@ +/* jshint esversion: 6 */ +(() => { + var icon = require("heatshrink").decompress(atob("jEYwIKHgwCBhwCBh4CEggPCkACBmAXDBwVZ+EB+F4gEsjl8EgMP+EChk/gEMh+ehkA+YIBxwxBnF/4HggH/wEAj0AA==")); + var color = 0x4A69; + + function draw() { + g.reset().setColor(color).drawImage(icon, this.x + 1, 0); + } + + WIDGETS["widhwt"] = { area: "tr", width: 26, draw: draw }; + + Bangle.on('swipe', function() { + color = 0x41f; + Bangle.buzz(); + Bangle.drawWidgets(); + setTimeout(() => { + color = 0x4A69; + Bangle.buzz(1E3, 1); + Bangle.drawWidgets(); + }, 35E3); + }); +})(); diff --git a/apps/widhwt/widget.png b/apps/widhwt/widget.png new file mode 100644 index 000000000..0021c9fa6 Binary files /dev/null and b/apps/widhwt/widget.png differ