main
Devin Leamy 2023-10-28 14:23:10 -04:00
parent 98974f3fe7
commit 7bf24582fa
2 changed files with 61 additions and 38 deletions

View File

@ -8,6 +8,9 @@ var BLACK_COLOR = "#000";
var ICON_SCALE = g.getWidth() / 178; var ICON_SCALE = g.getWidth() / 178;
var ICON_SIZE_IN_PIXELS = 24; var ICON_SIZE_IN_PIXELS = 24;
var UPDATE_DELAY_MS = 100; var UPDATE_DELAY_MS = 100;
function zeroPadded(n) {
return ("0" + n).substr(-2);
}
function convertTimeToText(time) { function convertTimeToText(time) {
var hours = Math.floor(time / 3600000); var hours = Math.floor(time / 3600000);
var minutes = Math.floor(time / 60000) % 60; var minutes = Math.floor(time / 60000) % 60;
@ -17,7 +20,7 @@ function convertTimeToText(time) {
return ("0" + minutes).substr(-2) + ":" + ("0" + seconds).substr(-2) + "." + tenthsOfASecond; return ("0" + minutes).substr(-2) + ":" + ("0" + seconds).substr(-2) + "." + tenthsOfASecond;
} }
else { else {
return "0" + hours + ":" + ("0" + minutes).substr(-2) + ":" + ("0" + seconds).substr(-2); return zeroPadded(hours) + ":" + zeroPadded(minutes) + ":" + zeroPadded(seconds);
} }
} }
var Button = /** @class */ (function () { var Button = /** @class */ (function () {
@ -198,24 +201,32 @@ var TimerApp = /** @class */ (function () {
}); });
}; };
TimerApp.prototype.loadStateOrDefault = function () { TimerApp.prototype.loadStateOrDefault = function () {
this.timers = [ var state = require("Storage").readJSON(STORAGE_FILE, 1);
{ if (state == undefined) {
elapsedTime: 0.0, state = {
running: false displayedTimerIndex: 0,
}, timers: [
{ {
elapsedTime: 0.0, elapsedTime: 0.0,
running: false running: false
}, },
{ {
elapsedTime: 0.0, elapsedTime: 0.0,
running: false running: false
}, },
{ {
elapsedTime: 0.0, elapsedTime: 0.0,
running: false running: false
}, },
]; {
elapsedTime: 0.0,
running: false
},
]
};
}
this.displayedTimerIndex = state.displayedTimerIndex;
this.timers = state.timers;
}; };
TimerApp.prototype.drawButtons = function () { TimerApp.prototype.drawButtons = function () {
console.log("DRAW BUTTONS", JSON.stringify(this.timers)); console.log("DRAW BUTTONS", JSON.stringify(this.timers));

View File

@ -18,6 +18,10 @@ const ICON_SCALE = g.getWidth() / 178
const ICON_SIZE_IN_PIXELS = 24 const ICON_SIZE_IN_PIXELS = 24
const UPDATE_DELAY_MS = 100 const UPDATE_DELAY_MS = 100
function zeroPadded(n: number): string {
return ("0" + n).substr(-2)
}
function convertTimeToText(time: number): string { function convertTimeToText(time: number): string {
let hours = Math.floor(time / 3600000) let hours = Math.floor(time / 3600000)
let minutes = Math.floor(time / 60000) % 60 let minutes = Math.floor(time / 60000) % 60
@ -27,7 +31,7 @@ function convertTimeToText(time: number): string {
if (hours == 0) { if (hours == 0) {
return ("0" + minutes).substr(-2) + ":" + ("0" + seconds).substr(-2) + "." + tenthsOfASecond return ("0" + minutes).substr(-2) + ":" + ("0" + seconds).substr(-2) + "." + tenthsOfASecond
} else { } else {
return "0" + hours + ":" + ("0" + minutes).substr(-2) + ":" + ("0" + seconds).substr(-2) return `${zeroPadded(hours)}:${zeroPadded(minutes)}:${zeroPadded(seconds)}`
} }
} }
@ -294,24 +298,32 @@ class TimerApp {
} }
loadStateOrDefault() { loadStateOrDefault() {
this.timers = [ let state = require("Storage").readJSON(STORAGE_FILE, 1)
{ if (state == undefined) {
elapsedTime: 0.0, state = {
running: false, displayedTimerIndex: 0,
}, timers: [
{ {
elapsedTime: 0.0, elapsedTime: 0.0,
running: false, running: false,
}, },
{ {
elapsedTime: 0.0, elapsedTime: 0.0,
running: false, running: false,
}, },
{ {
elapsedTime: 0.0, elapsedTime: 0.0,
running: false, running: false,
}, },
] {
elapsedTime: 0.0,
running: false,
},
],
}
}
this.displayedTimerIndex = state.displayedTimerIndex
this.timers = state.timers
} }
drawButtons() { drawButtons() {