From 0aafb0202b7f3a40cbab1cc109877b1bd2cfaf25 Mon Sep 17 00:00:00 2001 From: aaronrolls Date: Tue, 23 Aug 2022 03:12:00 +0000 Subject: [PATCH] Fixes --- apps/chimer/metadata.json | 2 +- apps/chimer/widget.js | 32 ++++++++++++++++++++++++++------ 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/apps/chimer/metadata.json b/apps/chimer/metadata.json index d29c1463b..ffb0b2a52 100644 --- a/apps/chimer/metadata.json +++ b/apps/chimer/metadata.json @@ -2,7 +2,7 @@ "id": "chimer", "name": "Chimer", "version": "0.01", - "description": "A fork of Hour Chime. Buzz or beep on every 60, 30 or 15 minutes. 3", + "description": "A fork of Hour Chime. Buzz or beep on every 60, 30 or 15 minutes. 4", "icon": "widget.png", "type": "widget", "tags": "widget", diff --git a/apps/chimer/widget.js b/apps/chimer/widget.js index 2df7512f2..d7a98ecdb 100644 --- a/apps/chimer/widget.js +++ b/apps/chimer/widget.js @@ -38,24 +38,44 @@ function sleep(milliseconds) { h = now.getHours(), m = now.getMinutes(), s = now.getSeconds(), ms = now.getMilliseconds(); if (settings.freq == 1){ - if (m===0 || m===30) chime(); + if (m==0 || m==30) chime(); lastHour = h; // check again in 30 minutes - const mLeft = 30, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; + 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===0 || m===15 || m===30 || m===45) chime(); + if (m==0 || m==15 || m==30 || m==45) chime(); lastHour = h; // check again in 15 minutes - const mLeft = 15, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; + 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 (m===0) chime(); + if (m==0) chime(); lastHour = h; // check again in 60 minutes - const mLeft = 60-m, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; + var mLeft = 60-m, sLeft = (mLeft*60)-s, msLeft = (sLeft*1000)-ms; setTimeout(check, msLeft); }