From ebc7005e372cbd03b6922fcec13d5f8010f0a802 Mon Sep 17 00:00:00 2001 From: hughbarney Date: Wed, 5 Jan 2022 21:27:21 +0000 Subject: [PATCH] Flipper: switch between light and dark theme and vice versa --- apps.json | 15 ++++++++++++++ apps/flipper/flipper.app.js | 39 +++++++++++++++++++++++++++++++++++ apps/flipper/flipper.icon.js | 1 + apps/flipper/flipper.png | Bin 0 -> 644 bytes 4 files changed, 55 insertions(+) create mode 100644 apps/flipper/flipper.app.js create mode 100644 apps/flipper/flipper.icon.js create mode 100644 apps/flipper/flipper.png diff --git a/apps.json b/apps.json index ebafa9c97..a32522fa2 100644 --- a/apps.json +++ b/apps.json @@ -5427,5 +5427,20 @@ {"name":"puzzle15.img","url":"puzzle15.app-icon.js","evaluate":true} ], "data": [{"name":"puzzle15.json"}] + }, + { + "id": "flipper", + "name": "flipper", + "version": "0.01", + "description": "Switch between dark and light theme and vice versa, combine with pattern launcher and swipe to flip." + "icon": "flipper.png", + "type": "app", + "tags": "game", + "supports": ["BANGLEJS2"], + "allow_emulator": true, + "storage": [ + {"name":"flipper.app.js","url":"flipper.app.js"}, + {"name":"flipper.img","url":"flipper.app-icon.js","evaluate":true} + ] } ] diff --git a/apps/flipper/flipper.app.js b/apps/flipper/flipper.app.js new file mode 100644 index 000000000..2e7d3551c --- /dev/null +++ b/apps/flipper/flipper.app.js @@ -0,0 +1,39 @@ +const storage = require('Storage'); +let settings = storage.readJSON('setting.json', 1); + +function cl(x) { return g.setColor(x).getColor(); } + +function upd(th) { + g.theme = th; + settings.theme = th; + storage.write('setting.json', settings); + delete g.reset; + g._reset = g.reset; + g.reset = function(n) { return g._reset().setColor(th.fg).setBgColor(th.bg); }; + g.clear = function(n) { if (n) g.reset(); return g.clearRect(0,0,g.getWidth(),g.getHeight()); }; + g.clear(1); +}; + +function flipTheme() { + if (!g.theme.dark) { + upd({ + fg:cl("#fff"), bg:cl("#000"), + fg2:cl("#0ff"), bg2:cl("#000"), + fgH:cl("#fff"), bgH:cl("#00f"), + dark:true + }); + } else { + upd({ + fg:cl("#000"), bg:cl("#fff"), + fg2:cl("#000"), bg2:cl("#cff"), + fgH:cl("#000"), bgH:cl("#0ff"), + dark:false + }); + } +} + +Bangle.loadWidgets(); +Bangle.drawWidgets(); + +flipTheme(); +setTimeout(load, 20); diff --git a/apps/flipper/flipper.icon.js b/apps/flipper/flipper.icon.js new file mode 100644 index 000000000..16331c09e --- /dev/null +++ b/apps/flipper/flipper.icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEw4X/AAO/mMUzs975K+ggLKysUAYNVqoLFitUoAKBqtQBYkJBIQABqwLEgQLEqtABggJDqkVBaoNCBZQwEgILWgoJENYsVBIcVBYpDEgpSIBYMBKQg6CuogCBY1UgoLCXAQLDqAsDBYhSBqEJHAoLDoEBcQ4LBEwILIMooLdIg4LaVoyaGERLcFao4LIdRAACYYUQBY5RKAH4Ar")); diff --git a/apps/flipper/flipper.png b/apps/flipper/flipper.png new file mode 100644 index 0000000000000000000000000000000000000000..b91543070be72c6a53a11aabec8d779780d2bc11 GIT binary patch literal 644 zcmV-~0(-0O`Ea$39hd$rSFgp06=YM0Il{S zNt_9?Wo4B{?^|t~pJ#}Zrg02ZoGP${lF_V|5I_%73ZmJuT0&*lfPjaY0kbl|Sb3wL z2iZV)c;Qk98Bz=!?CoNy@mQ250PlrNr2`;lAs6C1E3GII=pLkuXTT=w$hHTa{YLQ` z0?xEdlzJYJ3F=Idm0(>vK^Pg(9sT9im&`Mr3Ts-00mn0N`_RDC^9pvhHpzW_4_+18 zL9D7-+xz_(>FX7?nT)LIEeMMfc@TeKdJw5k&EV#IQrPAaCrd~q@cQg1x6LKi2J!@! zbsCWl%(i2A&pkZvWCw5cpu zQ52!tv*A*c5t$$kc$hi6inbEUj%}3*5RIkQdBFF-Ff#srA^Yik31Y^IS-VB@>t~>A ez&Bk3zIg*Y=-nc5eyO+s0000