From 86b5c1093717c7373eb0d0df15a012a8342e14d4 Mon Sep 17 00:00:00 2001 From: aaronrolls Date: Wed, 24 Aug 2022 09:15:18 +0000 Subject: [PATCH] Updated formatting --- apps/chimer/metadata.json | 10 +-- apps/chimer/settings.js | 114 +++++++++++++------------- apps/chimer/widget.js | 168 +++++++++++++++++++++----------------- 3 files changed, 153 insertions(+), 139 deletions(-) diff --git a/apps/chimer/metadata.json b/apps/chimer/metadata.json index 08918084d..3e89a7885 100644 --- a/apps/chimer/metadata.json +++ b/apps/chimer/metadata.json @@ -6,10 +6,10 @@ "icon": "widget.png", "type": "widget", "tags": "widget", - "supports": ["BANGLEJS","BANGLEJS2"], + "supports": ["BANGLEJS", "BANGLEJS2"], "storage": [ - {"name":"chimer.wid.js","url":"widget.js"}, - {"name":"chimer.settings.js","url":"settings.js"} + { "name": "chimer.wid.js", "url": "widget.js" }, + { "name": "chimer.settings.js", "url": "settings.js" } ], - "data": [{"name":"chimer.json"}] -} \ No newline at end of file + "data": [{ "name": "chimer.json" }] +} diff --git a/apps/chimer/settings.js b/apps/chimer/settings.js index 99c10b518..7af140dd4 100644 --- a/apps/chimer/settings.js +++ b/apps/chimer/settings.js @@ -2,68 +2,69 @@ * @param {function} back Use back() to return to settings menu */ - - -(function(back) { +(function (back) { // default to buzzing var FILE = "chimer.json"; var settings = {}; const chimes = ["Off", "Buzz", "Beep", "Both"]; const frequency = ["60 min", "30 min", "15 min", "1 min"]; - -var showMainMenu = () => { - E.showMenu({ - "": {"title": "Chimer"}, - "< Back": () => back(), - "Chime Type": { - value: settings.type, - min: 0, max: 2, // both is just silly - format: v => chimes[v], - onchange: v => { - settings.type = v; - writeSettings(settings); + var showMainMenu = () => { + E.showMenu({ + "": { title: "Chimer" }, + "< Back": () => back(), + "Chime Type": { + value: settings.type, + min: 0, + max: 2, // both is just silly + format: (v) => chimes[v], + onchange: (v) => { + settings.type = v; + writeSettings(settings); + }, }, - }, - "Frequency": { - value: settings.freq, - min: 0, max: 2, - format: v => frequency[v], - onchange: v => { - settings.freq = v; - writeSettings(settings); - } - }, - "Repetition": { - value: settings.repeat, - min: 1, max: 3, - format: v => v, - onchange: v => { - settings.repeat = v; - writeSettings(settings); - } - }, - "Start Hour": { - value: settings.start, - min: 1, max: 24, - format: v => v, - onchange: v => { - settings.start = v; - writeSettings(settings); - } - }, - "End Hour": { - value: settings.end, - min: 1, max: 24, - format: v => v, - onchange: v => { - settings.end = v; - writeSettings(settings); - } - } - }); -}; - + Frequency: { + value: settings.freq, + min: 0, + max: 2, + format: (v) => frequency[v], + onchange: (v) => { + settings.freq = v; + writeSettings(settings); + }, + }, + Repetition: { + value: settings.repeat, + min: 1, + max: 3, + format: (v) => v, + onchange: (v) => { + settings.repeat = v; + writeSettings(settings); + }, + }, + "Start Hour": { + value: settings.start, + min: 1, + max: 24, + format: (v) => v, + onchange: (v) => { + settings.start = v; + writeSettings(settings); + }, + }, + "End Hour": { + value: settings.end, + min: 1, + max: 24, + format: (v) => v, + onchange: (v) => { + settings.end = v; + writeSettings(settings); + }, + }, + }); + }; var readSettings = () => { var settings = require("Storage").readJSON(FILE, 1) || { @@ -82,5 +83,4 @@ var showMainMenu = () => { settings = readSettings(); showMainMenu(); -}) - +}); diff --git a/apps/chimer/widget.js b/apps/chimer/widget.js index fd11653af..9029511f8 100644 --- a/apps/chimer/widget.js +++ b/apps/chimer/widget.js @@ -1,4 +1,4 @@ -(function() { +(function () { // 0: off, 1: buzz, 2: beep, 3: both var FILE = "chimer.json"; @@ -15,7 +15,7 @@ var settings = readSettings(); -function sleep(milliseconds) { + function sleep(milliseconds) { const date = Date.now(); let currentDate = null; do { @@ -24,86 +24,100 @@ function sleep(milliseconds) { } function chime() { - for(var i = 0; i < settings.repeat; i++){ - if (settings.type === 1){ - Bangle.buzz(100); - } else if(settings.type === 2){ - Bangle.beep(); - } else { - return; - } - sleep(100); - } - }; - - let lastHour = (new Date()).getHours(); - let lastMinute = (new Date()).getMinutes(); // don't chime when (re)loaded at a whole hour - function check() { - const now = new Date(), - h = now.getHours(), m = now.getMinutes(), - s = now.getSeconds(), ms = now.getMilliseconds(); - if (h > settings.end || h < settings.start){ - var mLeft = 60-m, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; - setTimeout(check, msLeft); + for (var i = 0; i < settings.repeat; i++) { + if (settings.type === 1) { + Bangle.buzz(100); + } else if (settings.type === 2) { + Bangle.beep(); + } else { return; } - if (settings.freq === 1){ - if (m !== lastMinute && m===0 || m===30) chime(); - lastHour = h; - lastMinute = m; - // check again in 30 minutes - switch (true){ - case (m/30 >= 1): - var mLeft = 30-(m-30), sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; - break; - case (m/30 < 1): - var mLeft = 30-m, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; - break; + sleep(100); } - setTimeout(check, msLeft); - - }else if (settings.freq === 2){ - if (m !== lastMinute && m===0 || m===15 || m===30 || m===45) chime(); - lastHour = h; - lastMinute = m; - // check again in 15 minutes - switch (true){ - case (m/15 >= 3): - var mLeft = 15-(m-45), sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; - break; - case (m/15 >= 2): - var mLeft = 15-(m-30), sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; - break; - case (m/15 >= 1): - var mLeft = 15-(m-15), sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; - break; - case (m/15 < 1): - var mLeft = 15-m, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; - break; - } - setTimeout(check, msLeft); - }else if (settings.freq === 3){ - if (m !== lastMinute) chime(); - lastHour = h; - lastMinute = m; - // check again in 1 minute - - var mLeft = 1, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; - setTimeout(check, msLeft); - - }else{ - if (h!==lastHour && m===0) chime(); - lastHour = h; - // check again in 60 minutes - var mLeft = 60-m, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; - setTimeout(check, msLeft); - } + let lastHour = new Date().getHours(); + let lastMinute = new Date().getMinutes(); // don't chime when (re)loaded at a whole hour + function check() { + const now = new Date(), + h = now.getHours(), + m = now.getMinutes(), + s = now.getSeconds(), + ms = now.getMilliseconds(); + if (h > settings.end || h < settings.start) { + var mLeft = 60 - m, + sLeft = mLeft * 60 - s, + msLeft = sLeft * 1000 - ms; + setTimeout(check, msLeft); + return; + } + if (settings.freq === 1) { + if ((m !== lastMinute && m === 0) || m === 30) chime(); + lastHour = h; + lastMinute = m; + // check again in 30 minutes + switch (true) { + case m / 30 >= 1: + var mLeft = 30 - (m - 30), + sLeft = mLeft * 60 - s, + msLeft = sLeft * 1000 - ms; + break; + case m / 30 < 1: + var mLeft = 30 - m, + sLeft = mLeft * 60 - s, + msLeft = sLeft * 1000 - ms; + break; + } + setTimeout(check, msLeft); + } else if (settings.freq === 2) { + if ((m !== lastMinute && m === 0) || m === 15 || m === 30 || m === 45) + chime(); + lastHour = h; + lastMinute = m; + // check again in 15 minutes + switch (true) { + case m / 15 >= 3: + var mLeft = 15 - (m - 45), + sLeft = mLeft * 60 - s, + msLeft = sLeft * 1000 - ms; + break; + case m / 15 >= 2: + var mLeft = 15 - (m - 30), + sLeft = mLeft * 60 - s, + msLeft = sLeft * 1000 - ms; + break; + case m / 15 >= 1: + var mLeft = 15 - (m - 15), + sLeft = mLeft * 60 - s, + msLeft = sLeft * 1000 - ms; + break; + case m / 15 < 1: + var mLeft = 15 - m, + sLeft = mLeft * 60 - s, + msLeft = sLeft * 1000 - ms; + break; + } + setTimeout(check, msLeft); + } else if (settings.freq === 3) { + if (m !== lastMinute) chime(); + lastHour = h; + lastMinute = m; + // check again in 1 minute - - }; + var mLeft = 1, + sLeft = mLeft * 60 - s, + msLeft = sLeft * 1000 - ms; + setTimeout(check, msLeft); + } else { + if (h !== lastHour && m === 0) chime(); + lastHour = h; + // check again in 60 minutes + var mLeft = 60 - m, + sLeft = mLeft * 60 - s, + msLeft = sLeft * 1000 - ms; + setTimeout(check, msLeft); + } + } check(); -}) -(); \ No newline at end of file +})();