mirror of https://github.com/espruino/BangleApps
62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
(function(back) {
|
|
var storage = require("Storage");
|
|
|
|
var settingsFile = "flashcards.settings.json";
|
|
var dataFile = "flashcards.data.json";
|
|
var trelloTimeout = 3000;
|
|
var trelloURL = "https://api.trello.com/1/lists/$cardsListId/cards/?fields=name%2Cdesc%2Clist";
|
|
|
|
var settings = Object.assign({
|
|
listId: ""
|
|
}, storage.readJSON(settingsFile, true) || {});
|
|
|
|
function writeSettings() {
|
|
storage.writeJSON(settingsFile, settings);
|
|
}
|
|
|
|
var settingsMenu = {
|
|
"" : { "title" : "Flash Cards" },
|
|
"< Back" : () => back(),
|
|
/*"List ID": {
|
|
value: settings.listId,
|
|
onchange: v=> { settings.listId=v; writeSettings();}
|
|
}
|
|
,*/
|
|
"Get from Trello": () => {
|
|
if (!storage.read(settingsFile)) { writeSettings();}
|
|
E.showPrompt("Download cards?").then((v) => {
|
|
let delay = 500;
|
|
if (v) {
|
|
if (Bangle.http)
|
|
{
|
|
if (settings.listId)
|
|
{
|
|
delay = delay + trelloTimeout;
|
|
E.showMessage('i: downloading');
|
|
Bangle.http(trelloURL.replace("$cardsListId", settings.listId),
|
|
{
|
|
timeout : trelloTimeout,
|
|
method: "GET",
|
|
headers: { "Content-Type": "application/json" }
|
|
}).then(data=>{
|
|
var cardsJSON = JSON.parse(data.resp);
|
|
storage.write(dataFile, JSON.stringify(cardsJSON));
|
|
E.showMessage('i: downloaded');
|
|
})
|
|
.catch((e) => {
|
|
E.showMessage("e: " + e);
|
|
});
|
|
} else {
|
|
E.showMessage("e: list Id not found");
|
|
}
|
|
} else {
|
|
E.showMessage("e: Gadgetbridge not found");
|
|
}
|
|
}
|
|
setTimeout(() => E.showMenu(settingsMenu), delay);
|
|
});
|
|
}
|
|
}
|
|
// Show the menu
|
|
E.showMenu(settingsMenu);
|
|
})//(load)
|