adds personal work-from-home health widget

pull/2109/head
Spencer Churchill 2022-09-04 11:48:19 -07:00
parent 58a200b05d
commit 9cab0af8b4
5 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1 @@
0.01: New Widget!

View File

@ -0,0 +1,15 @@
# Twenties
Follow the [20-20-20 rule](https://www.aoa.org/AOA/Images/Patients/Eye%20Conditions/20-20-20-rule.pdf) with discrete reminders. Your BangleJS will buzz every 20 minutes for you to look away from your screen, and then buzz 20 seconds later to look back. Additionally, alternate between standing and sitting every 20 minutes to be standing for [more than 30 minutes](https://uwaterloo.ca/kinesiology-health-sciences/how-long-should-you-stand-rather-sit-your-work-station) per hour.
## Usage
Download this widget and as long as your watch-face supports widgets, it will automatically run in the background.
## Features
Vibrate to remind you to stand up and look away for healthy living.
## Creator
@splch

View File

@ -0,0 +1,13 @@
{
"id": "widtwenties",
"name": "Twenties",
"shortName": "twenties",
"version": "0.01",
"description": "Buzzes every 20m to stand / sit and look 20ft away for 20s.",
"icon": "widget.png",
"type": "widget",
"tags": "widget,tools",
"supports": ["BANGLEJS", "BANGLEJS2"],
"readme": "README.md",
"storage": [{ "name": "widtwenties.wid.js", "url": "widget.js" }]
}

View File

@ -0,0 +1,24 @@
// WIDGETS = {}; // <-- for development only
/* run widgets in their own function scope so
they don't interfere with currently-running apps */
(() => {
const move = 20 * 60 * 1000; // 20 minutes
const look = 20 * 1000; // 20 seconds
buzz = _ => {
Bangle.buzz().then(_ => {
setTimeout(Bangle.buzz, look);
});
};
// add widget
WIDGETS.twenties = {
buzz: buzz,
draw: null,
};
setInterval(WIDGETS.twenties.buzz, move); // buzz to stand / sit
})();
// Bangle.drawWidgets(); // <-- for development only

BIN
apps/widtwenties/widget.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB