mirror of https://github.com/espruino/BangleApps
Create app.js
parent
ec1bed62b5
commit
1f175ecd9f
|
@ -0,0 +1,238 @@
|
|||
var Layout = require("Layout");
|
||||
|
||||
var homework = require("Storage").readJSON("homework.txt", "r");
|
||||
//var hwfile = require("Storage").open("homework.txt", "w");
|
||||
var mainCheckHomeworkMenu;
|
||||
console.log(homework);
|
||||
//subjects = require("Storage").open("subjects.txt", "r");
|
||||
|
||||
var mode = "mainmenu";
|
||||
var statusmsg;
|
||||
var mainMenu = {
|
||||
"": {
|
||||
title: "--Main Menu--"
|
||||
},
|
||||
"New Homework": function() {
|
||||
E.showMenu(nhwmn);
|
||||
mode = "newhomework";
|
||||
},
|
||||
"Check Homework": function() {
|
||||
checkUnfinishedHomeworkAssembler();
|
||||
},
|
||||
"Reset Homework": function() {
|
||||
E.showPrompt("Are you sure you want to delete homework.txt?", {
|
||||
buttons: {
|
||||
"No": false,
|
||||
"Yes": true
|
||||
}
|
||||
}).then(function(v) {
|
||||
if (v) {
|
||||
require("Storage").write("homework.txt", '{"homework":[]}');
|
||||
homework = require("Storage").readJSON("homework.txt", "r");
|
||||
E.showMenu(mainMenu);
|
||||
|
||||
}else{
|
||||
E.showMenu(mainMenu);
|
||||
}
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
var nhwmn = { // New homework Menu
|
||||
"": {
|
||||
"title": "New HW Subject:"
|
||||
},
|
||||
"German": function() {
|
||||
addNewHomework("German");
|
||||
},
|
||||
"English": function() {
|
||||
addNewHomework("English");
|
||||
},
|
||||
"Maths": function() {
|
||||
addNewHomework("Maths");
|
||||
},
|
||||
"French": function() {
|
||||
addNewHomework("French");
|
||||
},
|
||||
"Chemistry": function() {
|
||||
addNewHomework("Chemistry");
|
||||
},
|
||||
"Physics": function() {
|
||||
addNewHomework("Physics");
|
||||
},
|
||||
"Religion": function() {
|
||||
addNewHomework("Religion");
|
||||
},
|
||||
"Biology": function() {
|
||||
addNewHomework("Biology");
|
||||
},
|
||||
"Music": function() {
|
||||
addNewHomework("Music");
|
||||
},
|
||||
"History": function() {
|
||||
addNewHomework("History");
|
||||
},
|
||||
"Arts": function() {
|
||||
addNewHomework("Arts");
|
||||
},
|
||||
"Sports": function() {
|
||||
addNewHomework("Sports");
|
||||
},
|
||||
|
||||
"Back": function() {
|
||||
mode = "mainmenu";
|
||||
E.showMenu(mainMenu);
|
||||
},
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
function checkUnfinishedHomeworkAssembler() {
|
||||
homework = require("Storage").readJSON("homework.txt", "r");
|
||||
var hwcount = Object.keys(homework.homework).length;
|
||||
mainCheckHomeworkMenu = {
|
||||
'': {
|
||||
'title': 'Unfinished HW:'
|
||||
}
|
||||
};
|
||||
// This code snippet gets the unfinished HW and puts it in mainCheckHomeworkMenu
|
||||
// btw mainCheckHomeworkMenu displays all the homework, when tapping on it you get more details with checkPreciseHomework function (currently being written)
|
||||
for (var i = 0; i < hwcount; ++i) {
|
||||
if (homework.homework[i].done === false) {
|
||||
var currentsubject = i; //attempting to pass i
|
||||
mainCheckHomeworkMenu[homework.homework[i].subject] = function() {
|
||||
checkPreciseHomework(currentsubject);
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
mainCheckHomeworkMenu["See Archived HW"] = function() {
|
||||
checkFinishedHomeworkAssembler();
|
||||
};
|
||||
mainCheckHomeworkMenu["Back to Main Menu"] = function() {
|
||||
mode = "mainmenu";
|
||||
E.showMenu(mainMenu);
|
||||
};
|
||||
E.showMenu(mainCheckHomeworkMenu);
|
||||
}
|
||||
|
||||
function checkFinishedHomeworkAssembler() {
|
||||
homework = require("Storage").readJSON("homework.txt", "r");
|
||||
var hwcount = Object.keys(homework.homework).length;
|
||||
mainCheckHomeworkMenu = {
|
||||
'': {
|
||||
'title': 'Unfinished HW:'
|
||||
}
|
||||
};
|
||||
// This code snippet gets the unfinished HW and puts it in mainCheckHomeworkMenu
|
||||
// btw mainCheckHomeworkMenu displays all the homework, when tapping on it you get more details with checkPreciseHomework function (currently being written)
|
||||
for (var i = 0; i < hwcount; ++i) {
|
||||
if (homework.homework[i].done === true) {
|
||||
var currentsubject = i; //attempting to pass i
|
||||
mainCheckHomeworkMenu[homework.homework[i].subject] = function() {
|
||||
checkPreciseHomework(currentsubject);
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
mainCheckHomeworkMenu["Back"] = function() {
|
||||
mode = "mainmenu";
|
||||
E.showMenu(mainMenu);
|
||||
};
|
||||
E.showMenu(mainCheckHomeworkMenu);
|
||||
}
|
||||
|
||||
function checkPreciseHomework(subjectnum) { // P A I N
|
||||
homework = require("Storage").read("homework.txt", "r");
|
||||
homework = JSON.parse(homework);
|
||||
var subject = homework.homework[subjectnum].subject;
|
||||
var task = homework.homework[subjectnum].task;
|
||||
var taskmsg = "Task: " + homework.homework[subjectnum].task;
|
||||
if (homework.homework[subjectnum].done === false) {
|
||||
statusmsg = "Status: Unfinished";
|
||||
} else {
|
||||
statusmsg = "Status: Finished";
|
||||
}
|
||||
var datetimerecieved = homework.homework[subjectnum].datetimerecievehw;
|
||||
var datetimerecievedmsg = "Recieved: " + homework.homework[subjectnum].datetimerecievehw;
|
||||
var checkPreciseHomeworkMenu = {
|
||||
'': {
|
||||
'title': subject
|
||||
},
|
||||
};
|
||||
checkPreciseHomeworkMenu[subject] = function() {},
|
||||
checkPreciseHomeworkMenu[taskmsg] = function() {},
|
||||
checkPreciseHomeworkMenu[statusmsg] = function() {
|
||||
status = "Status: Finished";
|
||||
var d = new Date();
|
||||
var currenttime = require("locale").time(d, 1);
|
||||
var currentdate = require("locale").date(d);
|
||||
var datetime = (currenttime + " " + currentdate);
|
||||
delete homework.homework[subjectnum];
|
||||
homework.homework.push({
|
||||
subject: subject,
|
||||
task: task,
|
||||
done: true,
|
||||
datetimerecievehw: datetimerecieved,
|
||||
datetimehwdone: datetime
|
||||
});
|
||||
require("Storage").write("homework.txt", JSON.stringify(homework));
|
||||
checkUnfinishedHomeworkAssembler();
|
||||
},
|
||||
checkPreciseHomeworkMenu[datetimerecievedmsg] = function() {},
|
||||
checkPreciseHomeworkMenu["Back"] = function() {
|
||||
checkUnfinishedHomeworkAssembler();
|
||||
},
|
||||
|
||||
E.showMenu(checkPreciseHomeworkMenu);
|
||||
|
||||
|
||||
}
|
||||
|
||||
function pushHomework(subject, status, datetimehwdone) {
|
||||
homework = require("Storage").readJSON("homework.txt", "r");
|
||||
|
||||
}
|
||||
|
||||
function addNewHomework(subject) { // Pass subject
|
||||
require("textinput").input().then(result => {
|
||||
if (result === "") {
|
||||
mode = "newhomework";
|
||||
E.showMenu(nhwmn);
|
||||
} else {
|
||||
var d = new Date();
|
||||
// update time and date
|
||||
var currenttime = require("locale").time(d, 1);
|
||||
var currentdate = require("locale").date(d);
|
||||
var datetime = (currenttime + " " + currentdate);
|
||||
homework.homework.push({
|
||||
subject: subject,
|
||||
task: result,
|
||||
done: false,
|
||||
datetimerecievehw: datetime
|
||||
}); // TODO: when HW is done, add datetimeendhw !!!
|
||||
//homework.homework[subject] = result;
|
||||
require("Storage").write("homework.txt", JSON.stringify(homework));
|
||||
E.showMenu(mainMenu);
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function main() { // why does this still exist
|
||||
if (mode === "mainmenu") {
|
||||
E.showMenu(mainMenu);
|
||||
|
||||
} else if (mode === "newhomework") {
|
||||
E.showMenu(nhwmn);
|
||||
|
||||
}
|
||||
}
|
||||
g.clear();
|
||||
Bangle.loadWidgets();
|
||||
Bangle.drawWidgets();
|
||||
main();
|
||||
//loop = setInterval(main, 1);
|
Loading…
Reference in New Issue