diff --git a/apps/coin_info/clkinfo.js b/apps/coin_info/clkinfo.js index eaf7174a2..6f8b59605 100644 --- a/apps/coin_info/clkinfo.js +++ b/apps/coin_info/clkinfo.js @@ -1,45 +1,55 @@ (function() { const SETTINGS_FILE = "coin_info.settings.json"; - var settings = require("Storage").readJSON(SETTINGS_FILE,1)||{}; + const settings = require("Storage").readJSON(SETTINGS_FILE,1) || {}; - function retrieveClkInfo(strToken) { - // TODO: do something useful here -> http request to CMC - return { - text : strToken, - // color: "#f00", - img : atob("MDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAA//8AAAAB///AAAAB8A/gAAAAgAH4AAAwAAB8AAB4AAA+AADwA4APAADgA4APAAHgA4AHgADAf/ADwAAAf/gBwAAAf/wB4AAAcB4A4AAAcA4A4AAAcA4A4AYAcA4AcA8AcB4AcB+Af/wDdj/Af/4D/n/Af/8D/n/AcAcB/A4AcAOA+A4AcAOAcAcAcAOAAAcAcAAAAAcAcAAAAAeAf/AAAAOAf/AAAAPAf/ADAAHgA4AHgADwA4AHAADwA4APAAB8AAA+AAA+AAB8AAAfgAH4AAAH8A/gAAAD///AAAAA//8AAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") - } + function debug(...args) { + console.log("[CoinInfo]", ...args); } + function retrieveClkInfo(token) { + // TODO: do something useful here -> http request to CMC + debug("Retrieving:", token); + return { + text : token, + // color: "#f00", + img : atob("MDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAAAA//8AAAAB///AAAAB8A/gAAAAgAH4AAAwAAB8AAB4AAA+AADwA4APAADgA4APAAHgA4AHgADAf/ADwAAAf/gBwAAAf/wB4AAAcB4A4AAAcA4A4AAAcA4A4AYAcA4AcA8AcB4AcB+Af/wDdj/Af/4D/n/Af/8D/n/AcAcB/A4AcAOA+A4AcAOAcAcAcAOAAAcAcAAAAAcAcAAAAAeAf/AAAAOAf/AAAAPAf/ADAAHgA4AHgADwA4AHAADwA4APAAB8AAA+AAA+AAB8AAAfgAH4AAAH8A/gAAAD///AAAAA//8AAAAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") + v: 0 + } + } + function showClkInfo() { - this.interval = setTimeout(()=>{ - this.emit("redraw"); - this.interval = setInterval(()=>{ - this.emit("redraw"); + debug("Show called"); + const self = this; + this.interval = setTimeout(() => { + self.emit("redraw"); + self.interval = setInterval(() => { + debug("Interval refresh"); + self.emit("redraw"); }, 60000); }, 60000 - (Date.now() % 60000)); } function hideClkInfo() { - clearInterval(this.interval); - this.interval = null; + debug("Hide called"); + if (this.interval) { + clearInterval(this.interval); + this.interval = null; + } } function createClkInfoItems() { - let clkItems = []; - (settings.tokenSelected || []).sort().forEach(token => { - clkItems.push({ - name: token, - get: () => retrieveClkInfo(token), - show: showClkInfo, - hide: hideClkInfo - }); - }); - return clkItems; + debug("Creating items from:", settings.tokenSelected); + return (settings.tokenSelected || []).map(token => ({ + name: token, + get: () => retrieveClkInfo(token), + show: showClkInfo, + hide: hideClkInfo, + hasRange: false + })); } return { name: "CoinInfo", - items: () => createClkInfoItems() + items: createClkInfoItems }; -}) +})(); diff --git a/apps/coin_info/metadata.json b/apps/coin_info/metadata.json index 6b3e3e339..045c4c955 100644 --- a/apps/coin_info/metadata.json +++ b/apps/coin_info/metadata.json @@ -1,7 +1,7 @@ { "id": "coin_info", "name": "Crypto-Coins Info", "shortName":"Coins Info", - "version": "0.03.12", + "version": "0.03.13", "description": "Crypto-Coins Infos with the help of the Coinmarketcap API", "icon": "app.png", "tags": "clkinfo",