🚧 improve clk-info

master
Martin Zwigl 2025-02-28 02:01:57 +01:00
parent 016ac1b6c9
commit 94f8a00dc0
2 changed files with 33 additions and 50 deletions

View File

@ -1,53 +1,36 @@
(function() {
const SETTINGS_FILE = "coin_info.settings.json";
const settings = require('Storage').readJSON(SETTINGS_FILE,1) || {};
function retrieveClkInfo(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==")
}
}
// function showClkInfo() {
// const self = this;
// this.interval = setTimeout(() => {
// self.emit("redraw");
// self.interval = setInterval(() => {
// console.log("Interval refresh");
// self.emit("redraw");
// }, 60000);
// }, 60000 - (Date.now() % 60000));
// }
function showClkInfo() {
this.interval = setTimeout(()=>{
this.emit("redraw");
this.interval = setInterval(()=>{
this.emit("redraw");
}, 60000);
}, 60000 - (Date.now() % 60000));
}
function hideClkInfo() {
if (this.interval) {
clearInterval(this.interval);
this.interval = null;
}
}
function createClkInfoItems() {
return (settings.tokenSelected || []).map(token => ({
name: token,
get: () => retrieveClkInfo(token),
show: showClkInfo,
hide: hideClkInfo,
hasRange: false
}));
}
const settings = require("Storage").readJSON("coin_info.settings.json",1)||{};
if (!(settings.tokenSelected instanceof Array))
settings.tokenSelected = [];
return {
name: "CoinInfo",
items: createClkInfoItems
items: settings.tokenSelected.map(token => {
return { name : token,
get : function()
{
return {
text : token,
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==")
}
},
show : function() {
var self = this;
// Set timeout to align to the next minute
self.interval = setTimeout(function timerTimeout() {
self.emit("redraw");
// Continue updating every minute
self.interval = setInterval(function intervalCallback() {
self.emit("redraw");
}, 60000);
}, 60000 - (Date.now() % 60000));
},
hide : function() {
if (this.interval) {
clearInterval(this.interval);
this.interval = null;
}
},
}
})
};
})();
})

View File

@ -1,7 +1,7 @@
{ "id": "coin_info",
"name": "Crypto-Coins Info",
"shortName":"Coins Info",
"version": "0.03.16",
"version": "0.03.17",
"description": "Crypto-Coins Infos with the help of the Coinmarketcap API",
"icon": "app.png",
"tags": "clkinfo",