JSFiddle - React, Tailwind, and code Playground
HTML
<title>Title</title>
<script src="engine.js"></script>
<script>
setStartDate(2016, 06, 12);
</script>
<body>
<p>start date: <script>document.write(getStartDate().toLocaleDateString())</script></p>
<p>current day:
<script>
document.write(getCurrentEarningDay());
document.write(" (\n");
document.write(getCurrentDate());
</script>
)
</p>
<p>outrunning: 1 <script>document.write(formatDays(1))</script></p>
<p>current step: <script>document.write(getStep())</script></p>
<p>cash: <script>document.write(getTotalMoney())</script></p>
<form id="formOne">
<button onclick="addMoney(document.forms['formOne'].elements['addMoney'].value)">Add money</button>
<input id="addMoney" size="3"/>
</form>
<br/>
<button onclick="upStep(); location.reload();">Up step</button>
<button onclick="downStep(); location.reload();">Down step</button>
</body>
</html>
JavaScript
/**
* Created by holocaust on 21.07.16.
*/
var startDate;
function setStartDate(aYear, aMonth, aDay) {
startDate = new Date(aYear, aMonth, aDay);
}
function getStartDate() {
return startDate;
}
function getCurrentDate() {
return new Date().toLocaleDateString();
}
function getCurrentEarningDay() {
var startD = new Date(getStartDate()),
currD = new Date(),
numDays = (currD.getTime() - startD.getTime()) / (1000*60*60*24);
numDays = Math.ceil(numDays);
return numDays;
}
function getStep() {
return +localStorage.getItem("step");
}
function upStep() {
localStorage.setItem("step", +getStep() + 10);
}
function downStep() {
if (+getStep() === 10) return null;
localStorage.setItem("step", +getStep() - 10);
}
function formatDays(days) {
if (days = 0 || days != 1) { return "days"; }
else { return "day"; }
}
function addMoney(aMoney) {
// if (aMoney === null || aMoney === undefined) return getTotalMoney();
localStorage.setItem("money", +getTotalMoney() + +aMoney);
}
function getTotalMoney() {
return +localStorage.getItem("money");
}