🚧 improve clk-info

master
Martin Zwigl 2025-02-28 00:45:47 +01:00
parent f199f9dc3a
commit 2de66b3a42
2 changed files with 37 additions and 27 deletions

View File

@ -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
};
})
})();

View File

@ -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",