ソースを参照

Added new row for ETA time and fixed a stupid date manipulation bug.

master
Trey Del Bonis 4年前
コミット
69b6a7966c
2個のファイルの変更21行の追加2行の削除
  1. 1
    0
      www/index.html
  2. 20
    2
      www/main.js

+ 1
- 0
www/index.html ファイルの表示

<h1>Bitcoin Block Halving Countdown!</h1> <h1>Bitcoin Block Halving Countdown!</h1>
<h3><span id="blocksleft">...</span> blocks left</h3> <h3><span id="blocksleft">...</span> blocks left</h3>
<h3><span id="timeleft">... remaining</span></h3> <h3><span id="timeleft">... remaining</span></h3>
<h3 id="halftimectr"><span id="halftime">ETA ...</span></h3>
<p> <p>
Click/tap on the rows for more statistics - <a href="#faq">FAQ</a> Click/tap on the rows for more statistics - <a href="#faq">FAQ</a>
</p> </p>

+ 20
- 2
www/main.js ファイルの表示

function formatDate(date) { function formatDate(date) {
let year = date.getUTCFullYear(); let year = date.getUTCFullYear();
let month = "0" + (1 + date.getUTCMonth()); let month = "0" + (1 + date.getUTCMonth());
let day = "0" + (1 + date.getUTCDate());
let day = "0" + date.getUTCDate();
let hours = "0" + date.getUTCHours(); let hours = "0" + date.getUTCHours();
let minutes = "0" + date.getUTCMinutes(); let minutes = "0" + date.getUTCMinutes();
let seconds = "0" + date.getUTCSeconds(); let seconds = "0" + date.getUTCSeconds();
// Make the timestamp element. // Make the timestamp element.
let timestampElem = document.createElement("span"); let timestampElem = document.createElement("span");
let timestampDate = new Date(block.timestamp * 1000); let timestampDate = new Date(block.timestamp * 1000);
timestampElem.innerHTML = formatDate(timestampDate);
timestampElem.innerHTML = formatDate(timestampDate) + " UTC";
dataElem.appendChild(timestampElem); dataElem.appendChild(timestampElem);


// this makes it look a lot nicer // this makes it look a lot nicer


var blocksLeftElem = null; var blocksLeftElem = null;
var timeLeftElem = null; var timeLeftElem = null;
var halfTimeElem = null;


function updateRemainingCount(block) { function updateRemainingCount(block) {
if (blocksLeftElem == null) { if (blocksLeftElem == null) {
timeLeftElem = document.getElementById("timeleft"); timeLeftElem = document.getElementById("timeleft");
} }


if (halfTimeElem == null) {
halfTimeElem = document.getElementById("halftime");
}

let blocksLeft = nextHalvingHeight - curTipBlock.height; let blocksLeft = nextHalvingHeight - curTipBlock.height;
blocksLeftElem.innerHTML = blocksLeft.toString() blocksLeftElem.innerHTML = blocksLeft.toString()


if (blocksLeft < 1) { if (blocksLeft < 1) {
timeLeftElem.innerHTML = "Halving imminent!"; timeLeftElem.innerHTML = "Halving imminent!";

// Hide the expected time.
let timectr = document.getElementById("halftimectr");
timectr.style.display = "none";

} else { } else {
let nowUnix = Date.now() / 1000; // wtf??? let nowUnix = Date.now() / 1000; // wtf???


} }


timeLeftElem.innerHTML = "roughly " + acc + " remaining"; timeLeftElem.innerHTML = "roughly " + acc + " remaining";

// Reward halving date.
let localNow = new Date();
let tzOff = (new Date()).getTimezoneOffset() * 60 * 1000;
let etaDate = new Date(localNow.getTime() + (secsLeft * 1000) - tzOff);
let formattedEtaDate = formatDate(etaDate);
halfTimeElem.innerHTML = "around " + formattedEtaDate + " local time";

} }
} }



読み込み中…
キャンセル
保存