🚧 improve settings save

master
Martin Zwigl 2025-02-27 23:04:38 +01:00
parent c69d383aa3
commit e574d540d4
2 changed files with 10 additions and 13 deletions

View File

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

View File

@ -2,7 +2,7 @@
const SETTINGS_FILE = "coin_info.settings.json"; const SETTINGS_FILE = "coin_info.settings.json";
const storage = require('Storage'); const storage = require('Storage');
// Default settings with sorted tokens // Default settings with sorted tokens and load settings
let settings = Object.assign({ let settings = Object.assign({
// TODO: MZw - retrieve from upload-storage // TODO: MZw - retrieve from upload-storage
tokens: ['bitcoin', 'ethereum', 'tether'], tokens: ['bitcoin', 'ethereum', 'tether'],
@ -25,9 +25,12 @@
menu[token] = { menu[token] = {
value: settings.tokenSelected.includes(token), value: settings.tokenSelected.includes(token),
onchange: v => { onchange: v => {
settings.tokenSelected = v if (v) {
? [...new Set([...settings.tokenSelected, token])] // Prevent duplicates settings.tokenSelected.push(token);
: settings.tokenSelected.filter(t => t !== token); } else {
settings.tokenSelected = settings.tokenSelected.filter(f => f !== token);
}
save();
} }
}; };
}); });
@ -39,18 +42,12 @@
max: 1440, max: 1440,
onchange: v => { onchange: v => {
settings.getRateMin = v; settings.getRateMin = v;
save();
} }
}; };
menu['SAVE'] = {
cb: () => {
storage.write(SETTINGS_FILE, settings);
Bangle.showClock();
}
}
return menu; return menu;
} }
E.showMenu(createMenu()); E.showMenu(createMenu());
}) })(load)