From 884691d10c320c9a15163646cd9fa7521e73b861 Mon Sep 17 00:00:00 2001 From: "Zachary D. Skelton" Date: Fri, 23 Feb 2024 11:27:09 -0600 Subject: [PATCH 1/6] Add: Fallout Clock --- apps/fallout_clock/CHANGELOG | 6 + apps/fallout_clock/LICENSE | 21 ++++ apps/fallout_clock/README.md | 29 +++++ apps/fallout_clock/app-icon.js | 1 + apps/fallout_clock/clock.js | 141 +++++++++++++++++++++++ apps/fallout_clock/icon.png | Bin 0 -> 7978 bytes apps/fallout_clock/metadate.json | 18 +++ apps/fallout_clock/res/fallout_icon.png | Bin 0 -> 7978 bytes apps/fallout_clock/res/good times rg.otf | Bin 0 -> 22476 bytes apps/fallout_clock/res/screenshot.png | Bin 0 -> 2243 bytes 10 files changed, 216 insertions(+) create mode 100644 apps/fallout_clock/CHANGELOG create mode 100644 apps/fallout_clock/LICENSE create mode 100644 apps/fallout_clock/README.md create mode 100644 apps/fallout_clock/app-icon.js create mode 100644 apps/fallout_clock/clock.js create mode 100644 apps/fallout_clock/icon.png create mode 100644 apps/fallout_clock/metadate.json create mode 100644 apps/fallout_clock/res/fallout_icon.png create mode 100644 apps/fallout_clock/res/good times rg.otf create mode 100644 apps/fallout_clock/res/screenshot.png diff --git a/apps/fallout_clock/CHANGELOG b/apps/fallout_clock/CHANGELOG new file mode 100644 index 000000000..ef31b4803 --- /dev/null +++ b/apps/fallout_clock/CHANGELOG @@ -0,0 +1,6 @@ +Version 0: +0.1.0 - (20240125): Basic Working Clock. +0.1.1 - (20240125): Widgets Added. Improved Interval Loop. +0.1.2 - (20240221): Fix: Month Reporting Wrong. +0.2.0 - (20240223): Created as a Package. +0.2.1 = (20240223): Added StandardJS and NPM. diff --git a/apps/fallout_clock/LICENSE b/apps/fallout_clock/LICENSE new file mode 100644 index 000000000..d9d472761 --- /dev/null +++ b/apps/fallout_clock/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Zachary D. Skelton + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/apps/fallout_clock/README.md b/apps/fallout_clock/README.md new file mode 100644 index 000000000..d535cc050 --- /dev/null +++ b/apps/fallout_clock/README.md @@ -0,0 +1,29 @@ +# Fallout Clock + +Inspired by the aesthetic of the Fallout series, this clock face looks to emulate the color and feel of a PipBoy. + +Add screen shots (if possible) to the app folder and link then into this file with ![clockface](./res/screenshot.png) + +## Usage + +You can also go into Settings, and choose it as the default clock under **Select Clock**. + +## Planned Features: +- Display Steps as Health +- Display Heartrate +- Brighter Color when the backlight is not on. +- Configurable Settings + +## Controls + +Zero Settings, Zero Configuration. Install and add as your clockface. + +## Requests + +To request new features, add [an issue](https://github.com/zskelton/fallout_clock/issues). + +## Creator + +Zachary D. Skelton \ +[Skelton Networks](https://skeltonnetworks.com)\ +[Github](https://github.com/zskelton) \ No newline at end of file diff --git a/apps/fallout_clock/app-icon.js b/apps/fallout_clock/app-icon.js new file mode 100644 index 000000000..9e38e51a8 --- /dev/null +++ b/apps/fallout_clock/app-icon.js @@ -0,0 +1 @@ +require('heatshrink').decompress(atob('mEw4cB388///t3/rX/6/2jOuCIOK70kyVJAQeQgEVkQIEAQ4uCiIGBCJVACIWJAwNUCJAyBAAMEDAcCCI5jDlQJC0EAhIRFkAQCgNSBIQGCKxEAhWSr+kyoHCCIlICIcEy//+hOENA8AomXr//9AIDCIYHDgX/+9L//4BIcSPQkBwED0mSCIP/DYgREh/AjoqBCIXgCIuAAoMO3/pCIIQBLYIkDCIhgBpf+y/bCQQLCUgQECh2Sr27tp+BGwoRG+u27duv/+7/wCIbCDt//1oRCIAO7/jPDCId19gRCuQRBzf+CI0C+vlCIWa5Mkz//siyBlIRCit/jdtEYXJkpaB6VJkqBDhN67YRCtojBCIjmDpN482N5Hb1ojB34RClQQCglJu3uxvW7fREYO3/hGBqARCkVJq3lt3W7gRC+wRBpRtDqVLEANyI4ON3Mly3uCILIChTUB43bvU2LIO5km2CINUEYVUCIhrCEYOT+mS0ARCkgRDuYjECIRXDCIRHBR4PdI4IJB+mVCIQcC23Xtlt28tNYQRB1DpGs+jy3a7e1CIOT+r7HtNtE4PtyoRBy8oCIckAgUK7ZqBrbXBk3dYQYREhihBLgNupM/YQkJCIcBrYREvTCDCIS2CgErI4ImBp/SpARDpMkyD+DCId96TCDCI0A1oRByXMYQkCCIK4DgEW23kyV+ygJDiQRCoAHCgdrtjUBFomSCIRPDgft9v/0jCCCItJA4UVl//pMlFgcECIjICiIGCYQoREUgSWBDAgHEAQZSB1IGCYQYOEAQcAxIDBpS8CPQYCGAYQiCKwoCG0iWCBYw')) diff --git a/apps/fallout_clock/clock.js b/apps/fallout_clock/clock.js new file mode 100644 index 000000000..56bb68a3a --- /dev/null +++ b/apps/fallout_clock/clock.js @@ -0,0 +1,141 @@ +/* global Bangle, Graphics, g */ + +// NAME: Fallout Clock (Bangle.js 2) +// DOCS: https://www.espruino.com/ReferenceBANGLEJS2 +// AUTHOR: Zachary D. Skelton +// VERSION: 0.1.0 (24JAN2024) - Creating [ Maj.Min.Bug ] REF: https://semver.org/ +// LICENSE: MIT License (2024) [ https://opensource.org/licenses/MIT ] + +/* THEME COLORS */ +// Dark Full - #000000 - (0,0.00,0) +// Dark Half - #002f00 - (0,0.18,0) +// Dark Zero - #005f00 - (0,0.37,0) +// Light Zero - #008e00 - (0,0.55,0) +// Light Half - #00bf00 - (0,0.75,0) +// Light Full - #00ee00 - (0,0.93,0) + +/* FONTS */ +// Font: Good Time Rg - https://www.dafont.com/good-times.font +// Large = 50px +Graphics.prototype.setLargeFont = function () { + this.setFontCustom( + atob('AAAAAAAAAAAAAAAAAAAAAABAAAAAAAB8AAAAAAA/gAAAAAAP4AAAAAAD+AAAAAAA/gAAAAAAP4AAAAAAB8AAAAAAAGAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAADwAAAAAAD8AAAAAAD/AAAAAAD/wAAAAAD/8AAAAAH/8AAAAAH/8AAAAAH/4AAAAAH/4AAAAAH/4AAAAAH/4AAAAAP/4AAAAAP/wAAAAAP/wAAAAAP/wAAAAAP/wAAAAAH/wAAAAAB/wAAAAAAfgAAAAAAHgAAAAAABgAAAAAAAAAAAAAAAAAAOAAAAAAB//AAAAAB//8AAAAB///wAAAA////AAAAf///4AAAP////AAAH////4AAD/+B//AAB/8AD/wAAf8AAP+AAP+AAB/gAD/AAAP8AA/gAAB/AAf4AAAf4AH8AAAD+AB/AAAA/gAfwAAAP4AH8AAAD+AB/AAAA/gAfwAAAP4AH8AAAD+AB/AAAA/gAfwAAAP4AH8AAAD+AB/gAAB/gAP4AAAfwAD/AAAP8AA/4AAH+AAH/AAD/gAB/8AD/wAAP/4H/8AAB////+AAAP////AAAB////gAAAP///wAAAB///wAAAAH//wAAAAAf/wAAAAAAOAAAAAAAAAAAAAfgAAAAAAH8AAAAAAB/AAAAAAAfwAAAAAAH8AAAAAAB/AAAAAAAfwAAAAAAH+AAAAAAB/wAAAAAAf/////wAD/////8AA//////AAH/////wAA/////8AAH/////AAAf////wAAA////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAH8AA//8AB/AA///AAfwAf//wAH8AH//8AB/AD///AAfwA///wAH8Af//8AB/AH8B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwD+AfwAH+B/AH8AB///wB/AAf//8AfwAD///AH8AA///gB/AAH//wAfwAA//4AH8AAH/8AB/AAAf8AAPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8AB/AAAB/AAfwAAAfwAH8AAAH8AB/AAAB/AAfwAAAfwAH8AAAH8AB/AAAB/AAfwAAAfwAH8AfAH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8A/gH8AB/gP4D/AAf8H/A/wAH///8/8AA/////+AAP/////gAB/////4AAf/8//8AAD/+P/+AAAf/B//AAAA/AH/AAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAH///AAAAB///8AAAAf///gAAAH///8AAAB////gAAAf///4AAAH////AAAAAAD/wAAAAAAP8AAAAAAB/AAAAAAAfwAAAAAAD+AAAAAAA/gAAAAAAP4AAAAAAD+AAAAAAA/gAAAAAAP4AAAAAAD+AAAAAAA/gAAAAAAP4AAAAAAD+AAAAAAA/gAAAAAAP4AAAAAAD+AAAAAAA/gAAAAAAP4AAAAAAD+AAAH/////8AB//////AAf/////wAH/////8AB//////AAf/////wAH/////8AAAAAP4AAAAAAD+AAAAAAA/gAAAAAAP4AAAAAAD+AAAAAAA/AAAAAAAAAAAAAAAAAAAAH///AD8AB///4B/AAf//+AfwAH///gH8AB///4B/AAf//+AfwAH///gH8AB///4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH8D/AAfwB/h/wAH8Af//8AB/AD//+AAfwA///gAH8AH//wAB/AA//4AAfgAH/8AAAAAAf8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAB//4AAAAB///wAAAB////AAAA////4AAAf////AAAP////4AAH/////AAB//fv/wAA/8H4f+AAP+B+D/gAH/AfgP8AB/gH4D/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+A/wAH8Afwf8AB/AH///AAfwA///gAH8AP//4AB/AD//8AAfwAf/+AAH8AD//AAAAAAP/gAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAH4AAAAAAB/AAAABAAfwAAAAwAH8AAAAcAB/AAAAfAAfwAAAPwAH8AAAH8AB/AAAD/AAfwAAD/wAH8AAB/8AB/AAA//AAfwAAf/gAH8AAP/gAB/AAP/wAAfwAH/4AAH8AD/8AAB/AB/8AAAfwB/+AAAH8A//AAAB/Af/gAAAfwP/gAAAH8P/wAAAB/H/4AAAAfz/8AAAAH9/8AAAAB//+AAAAAf//AAAAAH//gAAAAB//gAAAAAf/wAAAAAH/4AAAAAB/8AAAAAAf8AAAAAAH+AAAAAAB/AAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAD/gP/gAAB/+H/8AAA//z//gAAf////8AAP/////gAD/////4AB//////AAf+P/B/wAH+A/gP8AB/AP4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8AfgH8AB/AH4B/AAfwB+AfwAH8A/gH8AB/gP8D/AAf+P/h/wAH/////8AA/////+AAP/////gAB/////wAAP/8//4AAB/+H/8AAAH+A/+AAAAAAD+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAH/4AAAAAH//gAAAAD//8AAAAB///AD8AA///4B/AAP///AfwAH///wH8AB/4f8B/AAf4B/AfwAH8APwH8AB/AD8B/AAfwA/AfwAH8APwH8AB/AD8B/AAfwA/AfwAH8APwH8AB/AD8B/AAfwA/AfwAH8APwH8AB/AD8B/AAfwA/AfwAH8APwH8AB/AD8B/AAfwA/AfwAH8APwH8AB/AD8B/AAfwA/AfwAH+APwP8AB/wD8D/AAP+A/B/gAD/wPx/4AAf/j9/+AAH/////AAA/////gAAH////4AAA////8AAAH///8AAAAf//+AAAAA//8AAAAAAfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAEAAAAD4AHwAAAB/AD+AAAAfwA/gAAAH8AP4AAAB/AD+AAAAfwA/gAAAD4AHwAAAAMAAYAAAAAAAAAAAAAAAAA'), + 46, + atob('DRYqEykpKiwsJi0rDQ=='), + 50 | 65536 + ) + return this +} + +// Medium = 16px () +Graphics.prototype.setMediumFont = function () { + this.setFontCustom( + atob('AAAAAAAADwAAAB8AAAAPAAAAGwAAAb8AAB/9AAH/kAAv+QAA/4AAAPQAAAACvkAAH//wAD///AC/Qf4A/AA/APQAHwDwAA8A9AAfAPwAPwC+Qf4AP//8AB//9AAG/4AAoAAAAPAAAAD4AAAA////AL///wAv//8AAAAAAPAL/wDwH/8A8D//APA9DwDwPA8A8DwPAPA8DwDwPA8A9DwPAP78DwD/+A8AL+APAPAADwDwAA8A8BQPAPA8DwDwPA8A8DwPAPA8DwDwPA8A9DwfAP7/vwD///8AP+v8AAUBUACqqQAA//9AAP//wABVW8AAAAPAAAADwAAAA8AAAAPAAAADwAD///8A////AP///wAAA8AAAAKAAAAAAAD//A8A//wPAP/8DwDwPA8A8DwPAPA8DwDwPA8A8DwPAPA8DwDwPR8A8D+/APAv/gCgC/gAC//gAD///AC///4A/Tx/APg8LwDwPA8A8DwPAPA8DwDwPA8A8D0fAPA/vwDwL/4AoAv4AAAAQABQAAAA8AAHAPAAHwDwAL8A8AP/APAf+ADwf9AA8v9AAP/4AAD/4AAA/0AAAP0AAAAAAEAAL9v4AL///gD//78A+H0vAPA8DwDwPA8A8DwPAPA8DwDwPA8A9D0fAP7/vwD///8AP9v8AC/4AAC//g8A/r8PAPQfDwDwDw8A8A8PAPAPDwDwDw8A+A8fAP5PfwC///4AL//8AAb/4AAAAAAAAAAAAAA8DwAAfB8AADwPAA=='), + 46, + atob('BAcNBg0NDg4ODA4OBA=='), + 16 | 131072 + ) + return this +} + +/* VARIABLES */ +// Const +const H = g.getHeight() +const W = g.getWidth() +// Mutable +let timer = null + +/* UTILITY FUNCTIONS */ +// Return String of Current Time +function getCurrentTime () { + try { + const d = new Date() + const h = d.getHours() + const m = d.getMinutes() + return `${h}:${m.toString().padStart(2, 0)}` + } catch (e) { + console.log(e) + return '0:00' + } +} + +// Return String of Current Date +function getCurrentDate () { + try { + const d = new Date() + const year = d.getFullYear() + const month = d.getMonth() + const day = d.getDate() + const display = `${month + 1}.${day.toString().padStart(2, 0)}.${year}` + return display + } catch (e) { + console.log(e) + return '0.0.0000' + } +} + +// Set A New Draw for the Next Minute +function setNextDraw () { + console.log('tick') + // Clear Timeout + if (timer) { + clearInterval(timer) + } + // Calculate time until next minute + const d = new Date() + const s = d.getSeconds() + const ms = d.getMilliseconds() + const delay = 60000 - (s * 1000) - ms + // Set Timeout + timer = setInterval(draw, delay) +} + +function draw () { + // Reset Variables + g.reset() + // Set Background Color + g.setBgColor(0, 0, 0) + // Draw Background + g.setColor(0, 0, 0) + g.fillRect(0, 0, W, H) + // Set Font for Time + g.setColor(0, 0.93, 0) + g.setLargeFont() + g.setFontAlign(0, 0) + // Draw Time + const time = getCurrentTime() + g.drawString(time, W / 2, H / 2, true /* clear background */) + // Set Font for Date + g.setColor(0, 0.75, 0) + g.setMediumFont() + g.setFontAlign(0, 1) + // Draw Date + const dateStr = getCurrentDate() + g.drawString(dateStr, W / 2, H - 45, true) + // Draw Border + g.setColor(0, 0.93, 0) + g.drawLine(5, 36, W - 5, 36) + g.drawLine(5, H - 9, W - 5, H - 9) + g.setColor(0, 0.18, 0) + g.fillRect(0, 27, W, 32) + g.fillRect(0, H, W, H - 5) + // Draw Widgets + Bangle.drawWidgets() + // Schedule Next Draw + setNextDraw() +} + +/* MAIN LOOP */ +function main () { + // Clear Screen + g.clear() + // Set as Clock to Enable Launcher Screen on BTN1 + Bangle.setUI('clock') + // Load Widgets + Bangle.loadWidgets() + // Draw Clock + draw() +} + +/* BOOT CODE */ +main() diff --git a/apps/fallout_clock/icon.png b/apps/fallout_clock/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fc9bc1fdca8c690f29b7b1ae5310380deb041ea0 GIT binary patch literal 7978 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 literal 0 HcmV?d00001 diff --git a/apps/fallout_clock/metadate.json b/apps/fallout_clock/metadate.json new file mode 100644 index 000000000..f8de71f06 --- /dev/null +++ b/apps/fallout_clock/metadate.json @@ -0,0 +1,18 @@ +{ + "id":"fallout_clock", + "name":"Fallout Clock", + "version":"0.2.0", + "description":"A simple clock for the Fallout fan", + "icon":"icon.png", + "type":"clock", + "tags": ["clock", "fallout", "green"], + "supports": ["BANGLEJS2"], + "readme": "README.md", + "storage": [ + {"name":"fallout_clock.app.js", "url":"clock.js"}, + {"name":"fallout_clock.img", "url":"app-icon.js", "evaluate":true} + ], + "screenshots": [ + {"url":"./res/screenshot.png", "name":"Fallout Clock Screenshot"} + ] +} \ No newline at end of file diff --git a/apps/fallout_clock/res/fallout_icon.png b/apps/fallout_clock/res/fallout_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..fc9bc1fdca8c690f29b7b1ae5310380deb041ea0 GIT binary patch literal 7978 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 literal 0 HcmV?d00001 diff --git a/apps/fallout_clock/res/good times rg.otf b/apps/fallout_clock/res/good times rg.otf new file mode 100644 index 0000000000000000000000000000000000000000..53c181ccad978b674641b06b11fd8d0404d338e6 GIT binary patch literal 22476 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 Bw8j7c literal 0 HcmV?d00001 diff --git a/apps/fallout_clock/res/screenshot.png b/apps/fallout_clock/res/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..253554b728b4b7da36902477bc6cdc87107a9eba GIT binary patch literal 2243 zcmd^BSyYqP7CuQNVWvo#1f*0MR8TB3lYq)71QeMkqcVsLVM>LBK!7UZwcrwrI1r{b zARti?L}d7DQA7%nAz=_=1Z;&s0zp6$1I=Cc=|1-1KHZ12_uA|1v-fxQTHpCj!AWm7 zCHY zunz{P@l_`E2yow0JIzBGJc?9v36|cyp|8R-1yBs{nY>v5AO?#Jzli{*6V9gsP{1bc zhyPhiCq$4W;a2{8U6Xx}u8np+6xWVbliEVJ*)eJQr0ouLc&(uZ*L}6a=m8~!Fcj^` za*NaukX+VO7X_A}TZgZ{E2>21B9F-6vn4cs%-(;wClzh&*v!;}(69Ve#ELVD=(WgX z!;Tz$ejIFFE710n&j`lz49%2Jv6h|D1%XPzwsgP6rNjY5ubdKh$XHkmJs)VQ&@o^A z%w~y5C-5}_J7|x-@ArTo|8|B@$CJ-g4NfoIbB&%e+hYU0NlUy#w?cJ@Qlm3Oej3z9 z@2lql|8h{Qd^#bWlzNh#LFfD9dBtK3%6wS_`PG}9VIp%|jNlw>_Hsl9ELvFidMh*r zHjGG0(?IXiNd!syMj3$_A0932sS(JW)}pLdjo17E7usMu*T{8SXVjk@0wjd31xBRK zV;%WnBG)O!Q+d+b7z(D?(1m@UYb-;Zo)p5_?e!x0$qj9a*$Th+S!#~;eRoRvG9-o# z@`|jl0LL+8I=)Sv3cpWKS>rv7_@;z-s3R~leYIn#M*_3iIa7-t+3!TWNbDBV9d7K_ z0}eCPwpPs-970tCzezP5bTpIkSA=$a@A#xj^$=#D0c~My;icWM3D0fuAPL!eUFWdj zxrE51OE2D4+k>jae#Cm#pNjFYDYc(^T@>nGO9WH>v%dw1OS&q^sc_RQ_);J55*8Xc zw3I!Dxmj9V_1%rBcc>)=$n39bx;ZGfSA_U6TkmC#BD4IGdw1tqeKqY4jp1f7v0UTp z@ACC7oGY%hUkA9=%@NZDx&DyUkHO=U_A|25+z`7TS>Yjh8-3^;2Ha-6N2nH*q2n5P zc9ZkCw;9yGA{=2WvC2p;UKym;1$9keL}tYtSXi!BhKP!@xAa_TiFM#`V?cKv>$V$% zz`(N9H>L<*9U$7i1~tYjS)T-8Hx` zJE-tC)9vcmdDtL$9QDh_y`7ixD!iQQduf5)P563O)@eA`*r4^gAI^buJlJAq7Bi%t zDM2&Xf+1fd_qj1da%8z5csl{Q_A9XPA7BHi$i#w{3e~&u)byXj=4F$kCogD3bYG62 z1sYcOs^(046mmV5ZfVXbNMPL2U%nfZQrj%QjV65$z4cUPOi^Gw0(o6|xI|%RT*!rq9Jz3g7#f@8iAyus-Ut^nAK^ zIC+X$hYt@V9N3HYE7rli{5Gm8vz?io8?5G5cAdK3Om>W&pB@wMslZQH(?U8?5e${( z=r$Re%u1Fp1gUR)*Pr2S$LnGf1el9te71E%y-HHglV#5Dp#rpVHc^YTo`^j=2w6Lv z6U)Vwt(n@gMN92O4K%x6ZD6=^{V-7@U@e5WyMvYuKTzJpDu~kV>}F1j>x$QcYCcVg zF!X^Ptyi@=IHW)0u=Jz0-TnUI3qN7JGd*K?*s~8;yMjkCEb^h+esm7&K_uDfolk{{ znppyStvNq_dwY;xy>?51i3%3X6$;J1U^ZdvnFPpg#N|$nH=QFl6*4wC_Ppq0-eftU zT&M9b)cE-q6WUCRSO=0`jp+5nXEGy!xS!Y=Lx^k2ChDZqiAC9YaYE^!2ZMN~vE&6o zXJT1P=Y~JC_92-iF}+X8~I9xmR_jmL1ge*+z5 BIx+wN literal 0 HcmV?d00001 From f9cb2b14e2fbf380df61a3f99d23156937e35c24 Mon Sep 17 00:00:00 2001 From: "Zachary D. Skelton" Date: Fri, 23 Feb 2024 11:35:15 -0600 Subject: [PATCH 2/6] Add: Fallout Clock - fixed metadata --- apps/fallout_clock/{metadate.json => metadata.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/fallout_clock/{metadate.json => metadata.json} (100%) diff --git a/apps/fallout_clock/metadate.json b/apps/fallout_clock/metadata.json similarity index 100% rename from apps/fallout_clock/metadate.json rename to apps/fallout_clock/metadata.json From 0d44f1a43e2967aff11b68fa692a279d8488aeda Mon Sep 17 00:00:00 2001 From: "Zachary D. Skelton" Date: Fri, 23 Feb 2024 11:41:23 -0600 Subject: [PATCH 3/6] Add: Fallout Clock - fixed image --- apps/fallout_clock/app-icon.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/fallout_clock/app-icon.js b/apps/fallout_clock/app-icon.js index 9e38e51a8..9c2b9bc1d 100644 --- a/apps/fallout_clock/app-icon.js +++ b/apps/fallout_clock/app-icon.js @@ -1 +1 @@ -require('heatshrink').decompress(atob('mEw4cB388///t3/rX/6/2jOuCIOK70kyVJAQeQgEVkQIEAQ4uCiIGBCJVACIWJAwNUCJAyBAAMEDAcCCI5jDlQJC0EAhIRFkAQCgNSBIQGCKxEAhWSr+kyoHCCIlICIcEy//+hOENA8AomXr//9AIDCIYHDgX/+9L//4BIcSPQkBwED0mSCIP/DYgREh/AjoqBCIXgCIuAAoMO3/pCIIQBLYIkDCIhgBpf+y/bCQQLCUgQECh2Sr27tp+BGwoRG+u27duv/+7/wCIbCDt//1oRCIAO7/jPDCId19gRCuQRBzf+CI0C+vlCIWa5Mkz//siyBlIRCit/jdtEYXJkpaB6VJkqBDhN67YRCtojBCIjmDpN482N5Hb1ojB34RClQQCglJu3uxvW7fREYO3/hGBqARCkVJq3lt3W7gRC+wRBpRtDqVLEANyI4ON3Mly3uCILIChTUB43bvU2LIO5km2CINUEYVUCIhrCEYOT+mS0ARCkgRDuYjECIRXDCIRHBR4PdI4IJB+mVCIQcC23Xtlt28tNYQRB1DpGs+jy3a7e1CIOT+r7HtNtE4PtyoRBy8oCIckAgUK7ZqBrbXBk3dYQYREhihBLgNupM/YQkJCIcBrYREvTCDCIS2CgErI4ImBp/SpARDpMkyD+DCId96TCDCI0A1oRByXMYQkCCIK4DgEW23kyV+ygJDiQRCoAHCgdrtjUBFomSCIRPDgft9v/0jCCCItJA4UVl//pMlFgcECIjICiIGCYQoREUgSWBDAgHEAQZSB1IGCYQYOEAQcAxIDBpS8CPQYCGAYQiCKwoCG0iWCBYw')) +atob('MDDDAb88//9u/1r/1/YZrgAAit4kkkkkkkkkkAAVIkkkkkkkkkkkkkkkkkkAAAARJJIkkkkkkkkkkkkkkkAAAACJJJJUkkkkkkkkkkkkkAAAAARJJJJAAkkkkkkkkkkkAAAAACpJJJKgAAkkkkkkkkkgAAAAAVJJJJIAAAEkkkkkkkkAAAAACpJfpJUAAAAkkkkkkkgAAAAABJf/9JAAAAAEkkkkkkAAAAAARJdf/+gAAAAAkkkkkgAAAAAC//dL//gAAAAAEkkkkAAAAYADpJJL//8AAAAAAkkkkAAAD8AdJJJL///gAAAAAkkkgAAADr/pJJL////0AAAAAEkkgAAABJJL/pfb////gAAAAAkkAAAADpJeu22X////4AAAAAkkAAAADpL1tttuf/7f8AAAAAkgAAAAb/+ttttuSSS7/AAAAAEgAAAAdeyttttySSSb/gAAAAEgAAAC9eWtttuaySSf/2SSSSkgAAAVfxtttttyySX//9JJJQAAAAAJetttttttyST//9JJJUAAAABJeOaNyNutySW//9JJKgAAAARJdu6N1tvRySS3/JJJUAAAACJJVuVu1tzRyST2/JJKAAAAAVJL1ttyttuNuSWW7pJKgAAACpJLxtt6NtttuSS27pJUAAAAVJJLxtt6ttttuSWT9JKgAAAAJJJLxttzNtttuSST9JIAAAAiJJJL1ttttt2NuSSS9JUAAAA2222212xtty3RySSS9KgAAAEgAAAAZ6OW2tu1ySST9QAAAAEgAAAAaW1ttu2VySSXKAAAAAEkAAAACtu221ttySbdKgAAAAEkAAAADNty1ttuST9JUAAAAAkkAAAAAVty1ttuSXpKAAAAAAkkgAAAACtttttyT9JIAAAAAEkkkAAAAARttttyfdJUAAAAAEkkkAAAAACtttuSzJKgAAAAAkkkkgAAAAAWtuSSfpQAAAAAEkkkkkAAAAADa2yT9JAAAAAAkkkkkkgAAAAD7e3/pKgAAAAAkkkkkkkAAAAVL/9JJUAAAAAEkkkkkkkgAAARJJJJKAAAAAEkkkkkkkkkAAAJJJJJIAAAAAkkkkkkkkkkkACpJJJJUAAAAEkkkkkkkkkkkgCJJJJKgAAAEkkkkkkkkkkkkklJJJJQAAAEkkkkkkkkkkkkkkkkpJJAAEkkkkkkkkk=') From 6ec4aa1a7929ecbfeb008d98e3eaf72c8ebe7e03 Mon Sep 17 00:00:00 2001 From: "Zachary D. Skelton" Date: Fri, 23 Feb 2024 11:51:53 -0600 Subject: [PATCH 4/6] Added Dev Docs --- apps/fallout_clock/.gitignore | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 apps/fallout_clock/.gitignore diff --git a/apps/fallout_clock/.gitignore b/apps/fallout_clock/.gitignore new file mode 100644 index 000000000..2597f0579 --- /dev/null +++ b/apps/fallout_clock/.gitignore @@ -0,0 +1,6 @@ +node_modules/ + +fallout_clock.code-workspace + +package.json +package-lock.json From 4a4f642c954501785d91fe5215e629454ef3b8e8 Mon Sep 17 00:00:00 2001 From: "Zachary D. Skelton" Date: Fri, 23 Feb 2024 12:09:20 -0600 Subject: [PATCH 5/6] Edit: Readme --- apps/fallout_clock/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/fallout_clock/README.md b/apps/fallout_clock/README.md index d535cc050..b48e7e762 100644 --- a/apps/fallout_clock/README.md +++ b/apps/fallout_clock/README.md @@ -2,7 +2,7 @@ Inspired by the aesthetic of the Fallout series, this clock face looks to emulate the color and feel of a PipBoy. -Add screen shots (if possible) to the app folder and link then into this file with ![clockface](./res/screenshot.png) +![clockface](./res/screenshot.png) ## Usage From b80c4cd824e2c1e84a72d1917187755b5d48b2bc Mon Sep 17 00:00:00 2001 From: "Zachary D. Skelton" Date: Mon, 26 Feb 2024 23:31:21 -0600 Subject: [PATCH 6/6] Applied PR Changes --- apps/fallout_clock/.gitignore | 1 + apps/fallout_clock/CHANGELOG | 11 +++++------ apps/fallout_clock/app-icon.js | 2 +- apps/fallout_clock/metadata.json | 4 ++-- apps/fallout_clock/screenshot.png | Bin 0 -> 2243 bytes 5 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 apps/fallout_clock/screenshot.png diff --git a/apps/fallout_clock/.gitignore b/apps/fallout_clock/.gitignore index 2597f0579..e5f9ba937 100644 --- a/apps/fallout_clock/.gitignore +++ b/apps/fallout_clock/.gitignore @@ -1,4 +1,5 @@ node_modules/ +res/ fallout_clock.code-workspace diff --git a/apps/fallout_clock/CHANGELOG b/apps/fallout_clock/CHANGELOG index ef31b4803..ee9876b1a 100644 --- a/apps/fallout_clock/CHANGELOG +++ b/apps/fallout_clock/CHANGELOG @@ -1,6 +1,5 @@ -Version 0: -0.1.0 - (20240125): Basic Working Clock. -0.1.1 - (20240125): Widgets Added. Improved Interval Loop. -0.1.2 - (20240221): Fix: Month Reporting Wrong. -0.2.0 - (20240223): Created as a Package. -0.2.1 = (20240223): Added StandardJS and NPM. +0.10: (20240125) Basic Working Clock. +0.11: (20240125) Widgets Added. Improved Interval Loop. +0.12: (20240221) Fix: Month Reporting Wrong. +0.20: (20240223) Created as a Package. +0.21: (20240223) Added StandardJS and NPM. diff --git a/apps/fallout_clock/app-icon.js b/apps/fallout_clock/app-icon.js index 9c2b9bc1d..1e95ee2ed 100644 --- a/apps/fallout_clock/app-icon.js +++ b/apps/fallout_clock/app-icon.js @@ -1 +1 @@ -atob('MDDDAb88//9u/1r/1/YZrgAAit4kkkkkkkkkkAAVIkkkkkkkkkkkkkkkkkkAAAARJJIkkkkkkkkkkkkkkkAAAACJJJJUkkkkkkkkkkkkkAAAAARJJJJAAkkkkkkkkkkkAAAAACpJJJKgAAkkkkkkkkkgAAAAAVJJJJIAAAEkkkkkkkkAAAAACpJfpJUAAAAkkkkkkkgAAAAABJf/9JAAAAAEkkkkkkAAAAAARJdf/+gAAAAAkkkkkgAAAAAC//dL//gAAAAAEkkkkAAAAYADpJJL//8AAAAAAkkkkAAAD8AdJJJL///gAAAAAkkkgAAADr/pJJL////0AAAAAEkkgAAABJJL/pfb////gAAAAAkkAAAADpJeu22X////4AAAAAkkAAAADpL1tttuf/7f8AAAAAkgAAAAb/+ttttuSSS7/AAAAAEgAAAAdeyttttySSSb/gAAAAEgAAAC9eWtttuaySSf/2SSSSkgAAAVfxtttttyySX//9JJJQAAAAAJetttttttyST//9JJJUAAAABJeOaNyNutySW//9JJKgAAAARJdu6N1tvRySS3/JJJUAAAACJJVuVu1tzRyST2/JJKAAAAAVJL1ttyttuNuSWW7pJKgAAACpJLxtt6NtttuSS27pJUAAAAVJJLxtt6ttttuSWT9JKgAAAAJJJLxttzNtttuSST9JIAAAAiJJJL1ttttt2NuSSS9JUAAAA2222212xtty3RySSS9KgAAAEgAAAAZ6OW2tu1ySST9QAAAAEgAAAAaW1ttu2VySSXKAAAAAEkAAAACtu221ttySbdKgAAAAEkAAAADNty1ttuST9JUAAAAAkkAAAAAVty1ttuSXpKAAAAAAkkgAAAACtttttyT9JIAAAAAEkkkAAAAARttttyfdJUAAAAAEkkkAAAAACtttuSzJKgAAAAAkkkkgAAAAAWtuSSfpQAAAAAEkkkkkAAAAADa2yT9JAAAAAAkkkkkkgAAAAD7e3/pKgAAAAAkkkkkkkAAAAVL/9JJUAAAAAEkkkkkkkgAAARJJJJKAAAAAEkkkkkkkkkAAAJJJJJIAAAAAkkkkkkkkkkkACpJJJJUAAAAEkkkkkkkkkkkgCJJJJKgAAAEkkkkkkkkkkkkklJJJJQAAAEkkkkkkkkkkkkkkkkpJJAAEkkkkkkkkk=') +atob("MDDDAb88//9u/1r/1/YZrgAAit4kkkkkkkkkkAAVIkkkkkkkkkkkkkkkkkkAAAARJJIkkkkkkkkkkkkkkkAAAACJJJJUkkkkkkkkkkkkkAAAAARJJJJAAkkkkkkkkkkkAAAAACpJJJKgAAkkkkkkkkkgAAAAAVJJJJIAAAEkkkkkkkkAAAAACpJfpJUAAAAkkkkkkkgAAAAABJf/9JAAAAAEkkkkkkAAAAAARJdf/+gAAAAAkkkkkgAAAAAC//dL//gAAAAAEkkkkAAAAYADpJJL//8AAAAAAkkkkAAAD8AdJJJL///gAAAAAkkkgAAADr/pJJL////0AAAAAEkkgAAABJJL/pfb////gAAAAAkkAAAADpJeu22X////4AAAAAkkAAAADpL1tttuf/7f8AAAAAkgAAAAb/+ttttuSSS7/AAAAAEgAAAAdeyttttySSSb/gAAAAEgAAAC9eWtttuaySSf/2SSSSkgAAAVfxtttttyySX//9JJJQAAAAAJetttttttyST//9JJJUAAAABJeOaNyNutySW//9JJKgAAAARJdu6N1tvRySS3/JJJUAAAACJJVuVu1tzRyST2/JJKAAAAAVJL1ttyttuNuSWW7pJKgAAACpJLxtt6NtttuSS27pJUAAAAVJJLxtt6ttttuSWT9JKgAAAAJJJLxttzNtttuSST9JIAAAAiJJJL1ttttt2NuSSS9JUAAAA2222212xtty3RySSS9KgAAAEgAAAAZ6OW2tu1ySST9QAAAAEgAAAAaW1ttu2VySSXKAAAAAEkAAAACtu221ttySbdKgAAAAEkAAAADNty1ttuST9JUAAAAAkkAAAAAVty1ttuSXpKAAAAAAkkgAAAACtttttyT9JIAAAAAEkkkAAAAARttttyfdJUAAAAAEkkkAAAAACtttuSzJKgAAAAAkkkkgAAAAAWtuSSfpQAAAAAEkkkkkAAAAADa2yT9JAAAAAAkkkkkkgAAAAD7e3/pKgAAAAAkkkkkkkAAAAVL/9JJUAAAAAEkkkkkkkgAAARJJJJKAAAAAEkkkkkkkkkAAAJJJJJIAAAAAkkkkkkkkkkkACpJJJJUAAAAEkkkkkkkkkkkgCJJJJKgAAAEkkkkkkkkkkkkklJJJJQAAAEkkkkkkkkkkkkkkkkpJJAAEkkkkkkkkk=") // eslint-disable-line diff --git a/apps/fallout_clock/metadata.json b/apps/fallout_clock/metadata.json index f8de71f06..fe6115a9c 100644 --- a/apps/fallout_clock/metadata.json +++ b/apps/fallout_clock/metadata.json @@ -5,7 +5,7 @@ "description":"A simple clock for the Fallout fan", "icon":"icon.png", "type":"clock", - "tags": ["clock", "fallout", "green"], + "tags": "clock,fallout,green,retro", "supports": ["BANGLEJS2"], "readme": "README.md", "storage": [ @@ -13,6 +13,6 @@ {"name":"fallout_clock.img", "url":"app-icon.js", "evaluate":true} ], "screenshots": [ - {"url":"./res/screenshot.png", "name":"Fallout Clock Screenshot"} + {"url":"./screenshot.png", "name":"Fallout Clock Screenshot"} ] } \ No newline at end of file diff --git a/apps/fallout_clock/screenshot.png b/apps/fallout_clock/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..253554b728b4b7da36902477bc6cdc87107a9eba GIT binary patch literal 2243 zcmd^BSyYqP7CuQNVWvo#1f*0MR8TB3lYq)71QeMkqcVsLVM>LBK!7UZwcrwrI1r{b zARti?L}d7DQA7%nAz=_=1Z;&s0zp6$1I=Cc=|1-1KHZ12_uA|1v-fxQTHpCj!AWm7 zCHY zunz{P@l_`E2yow0JIzBGJc?9v36|cyp|8R-1yBs{nY>v5AO?#Jzli{*6V9gsP{1bc zhyPhiCq$4W;a2{8U6Xx}u8np+6xWVbliEVJ*)eJQr0ouLc&(uZ*L}6a=m8~!Fcj^` za*NaukX+VO7X_A}TZgZ{E2>21B9F-6vn4cs%-(;wClzh&*v!;}(69Ve#ELVD=(WgX z!;Tz$ejIFFE710n&j`lz49%2Jv6h|D1%XPzwsgP6rNjY5ubdKh$XHkmJs)VQ&@o^A z%w~y5C-5}_J7|x-@ArTo|8|B@$CJ-g4NfoIbB&%e+hYU0NlUy#w?cJ@Qlm3Oej3z9 z@2lql|8h{Qd^#bWlzNh#LFfD9dBtK3%6wS_`PG}9VIp%|jNlw>_Hsl9ELvFidMh*r zHjGG0(?IXiNd!syMj3$_A0932sS(JW)}pLdjo17E7usMu*T{8SXVjk@0wjd31xBRK zV;%WnBG)O!Q+d+b7z(D?(1m@UYb-;Zo)p5_?e!x0$qj9a*$Th+S!#~;eRoRvG9-o# z@`|jl0LL+8I=)Sv3cpWKS>rv7_@;z-s3R~leYIn#M*_3iIa7-t+3!TWNbDBV9d7K_ z0}eCPwpPs-970tCzezP5bTpIkSA=$a@A#xj^$=#D0c~My;icWM3D0fuAPL!eUFWdj zxrE51OE2D4+k>jae#Cm#pNjFYDYc(^T@>nGO9WH>v%dw1OS&q^sc_RQ_);J55*8Xc zw3I!Dxmj9V_1%rBcc>)=$n39bx;ZGfSA_U6TkmC#BD4IGdw1tqeKqY4jp1f7v0UTp z@ACC7oGY%hUkA9=%@NZDx&DyUkHO=U_A|25+z`7TS>Yjh8-3^;2Ha-6N2nH*q2n5P zc9ZkCw;9yGA{=2WvC2p;UKym;1$9keL}tYtSXi!BhKP!@xAa_TiFM#`V?cKv>$V$% zz`(N9H>L<*9U$7i1~tYjS)T-8Hx` zJE-tC)9vcmdDtL$9QDh_y`7ixD!iQQduf5)P563O)@eA`*r4^gAI^buJlJAq7Bi%t zDM2&Xf+1fd_qj1da%8z5csl{Q_A9XPA7BHi$i#w{3e~&u)byXj=4F$kCogD3bYG62 z1sYcOs^(046mmV5ZfVXbNMPL2U%nfZQrj%QjV65$z4cUPOi^Gw0(o6|xI|%RT*!rq9Jz3g7#f@8iAyus-Ut^nAK^ zIC+X$hYt@V9N3HYE7rli{5Gm8vz?io8?5G5cAdK3Om>W&pB@wMslZQH(?U8?5e${( z=r$Re%u1Fp1gUR)*Pr2S$LnGf1el9te71E%y-HHglV#5Dp#rpVHc^YTo`^j=2w6Lv z6U)Vwt(n@gMN92O4K%x6ZD6=^{V-7@U@e5WyMvYuKTzJpDu~kV>}F1j>x$QcYCcVg zF!X^Ptyi@=IHW)0u=Jz0-TnUI3qN7JGd*K?*s~8;yMjkCEb^h+esm7&K_uDfolk{{ znppyStvNq_dwY;xy>?51i3%3X6$;J1U^ZdvnFPpg#N|$nH=QFl6*4wC_Ppq0-eftU zT&M9b)cE-q6WUCRSO=0`jp+5nXEGy!xS!Y=Lx^k2ChDZqiAC9YaYE^!2ZMN~vE&6o zXJT1P=Y~JC_92-iF}+X8~I9xmR_jmL1ge*+z5 BIx+wN literal 0 HcmV?d00001