diff --git a/apps/widlockunlock/widget.js b/apps/widlockunlock/widget.js index f7f872a5e..e4569f511 100644 --- a/apps/widlockunlock/widget.js +++ b/apps/widlockunlock/widget.js @@ -1,45 +1,34 @@ +"use strict"; WIDGETS["lockunlock"] = { - area: (() => { - const settings = require("Storage") - .readJSON("lockunlock.settings.json", true) || {}; - return settings.location || "tl"; - })(), - sortorder: 10, - width: 14, - draw: w => { - g.reset() - .drawImage( - atob(Bangle.isLocked() - ? "DBGBAAAA8DnDDCBCBP////////n/n/n//////z/A" - : "DBGBAAAA8BnDDCBABP///8A8A8Y8Y8Y8A8A//z/A"), - w.x + 1, - w.y + 3 - ); - }, + area: (function () { + var _a; + var settings = require("Storage") + .readJSON("lockunlock.settings.json", true) || {}; + return (_a = settings.location) !== null && _a !== void 0 ? _a : "tl"; + })(), + sortorder: 10, + width: 14, + draw: function (w) { + g.reset() + .drawImage(atob(Bangle.isLocked() + ? "DBGBAAAA8DnDDCBCBP////////n/n/n//////z/A" + : "DBGBAAAA8BnDDCBABP///8A8A8Y8Y8Y8A8A//z/A"), w.x + 1, w.y + 3); + }, }; -Bangle.on("lock", () => Bangle.drawWidgets()); - -Bangle.on('touch', (_btn, xy) => { - const oversize = 5; - - const w = WIDGETS.lockunlock; - - const x = xy.x; - const y = xy.y; - - if(w.x - oversize <= x && x < w.x + 14 + oversize - && w.y - oversize <= y && y < w.y + 24 + oversize) - { - Bangle.setLocked(true); - - const backlightTimeout = Bangle.getOptions().backlightTimeout; // ms - - // seems to be a race/if we don't give the firmware enough time, - // it won't timeout the backlight and we'll restore it in our setTimeout below - Bangle.setOptions({ backlightTimeout: 100 }); - - setTimeout(() => { - Bangle.setOptions({ backlightTimeout }); - }, 300); - } +Bangle.on("lock", function () { return Bangle.drawWidgets(); }); +Bangle.on("touch", function (_btn, e) { + var oversize = 5; + if (!e) + return; + var x = e.x, y = e.y; + var w = WIDGETS["lockunlock"]; + if (w.x - oversize <= x && x < w.x + 14 + oversize + && w.y - oversize <= y && y < w.y + 24 + oversize) { + Bangle.setLocked(true); + var backlightTimeout_1 = Bangle.getOptions().backlightTimeout; + Bangle.setOptions({ backlightTimeout: 100 }); + setTimeout(function () { + Bangle.setOptions({ backlightTimeout: backlightTimeout_1 }); + }, 300); + } }); diff --git a/apps/widlockunlock/widget.ts b/apps/widlockunlock/widget.ts new file mode 100644 index 000000000..5dd1c93e9 --- /dev/null +++ b/apps/widlockunlock/widget.ts @@ -0,0 +1,46 @@ +WIDGETS["lockunlock"] = { + area: (() => { + const settings = require("Storage") + .readJSON("lockunlock.settings.json", true) || {}; + return settings.location ?? "tl"; + })(), + sortorder: 10, + width: 14, + draw: w => { + g.reset() + .drawImage( + atob(Bangle.isLocked() + ? "DBGBAAAA8DnDDCBCBP////////n/n/n//////z/A" + : "DBGBAAAA8BnDDCBABP///8A8A8Y8Y8Y8A8A//z/A"), + w.x! + 1, + w.y! + 3 + ); + }, +}; + +Bangle.on("lock", () => Bangle.drawWidgets()); + +Bangle.on("touch", (_btn, e) => { + const oversize = 5; + + if (!e) return; + const { x, y } = e; + + const w = WIDGETS["lockunlock"]!; + + if(w.x! - oversize <= x && x < w.x! + 14 + oversize + && w.y! - oversize <= y && y < w.y! + 24 + oversize) + { + Bangle.setLocked(true); + + const { backlightTimeout } = Bangle.getOptions(); // ms + + // seems to be a race/if we don't give the firmware enough time, + // it won't timeout the backlight and we'll restore it in our setTimeout below + Bangle.setOptions({ backlightTimeout: 100 }); + + setTimeout(() => { + Bangle.setOptions({ backlightTimeout }); + }, 300); + } +});