mirror of
https://github.com/bitcoinresearchkit/brk.git
synced 2026-07-07 09:08:14 -07:00
44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
import { createBlockHeader } from "./header.js";
|
|
import { createMinerPane } from "./miner.js";
|
|
import { createDifficultyPane } from "./difficulty.js";
|
|
import { createRewardsPane } from "./rewards.js";
|
|
import { createTransactionPane } from "./transactions.js";
|
|
import { createFeeChart } from "./fee-chart.js";
|
|
import { appendPane } from "./pane.js";
|
|
|
|
export function createBlockDetails() {
|
|
const element = document.createElement("section");
|
|
const header = createBlockHeader();
|
|
const content = document.createElement("div");
|
|
|
|
element.id = "block-details";
|
|
element.hidden = true;
|
|
element.append(header.element, content);
|
|
|
|
/** @param {import("../../modules/brk-client/index.js").BlockInfoV1} block */
|
|
function update(block) {
|
|
const extras = block.extras;
|
|
|
|
element.hidden = false;
|
|
header.update(block);
|
|
|
|
for (const chart of content.querySelectorAll("[data-fee-chart]")) {
|
|
chart.dispatchEvent(new Event("chart:destroy"));
|
|
}
|
|
content.textContent = "";
|
|
|
|
appendPane(content, "Mining", [createMinerPane(block)]);
|
|
appendPane(content, "Difficulty", [createDifficultyPane(block)]);
|
|
appendPane(content, "Rewards", [createRewardsPane(extras)]);
|
|
appendPane(content, "Block", [createTransactionPane(block)]);
|
|
appendPane(content, "Fees", [
|
|
createFeeChart(extras.feeRange, extras.avgFeeRate),
|
|
]);
|
|
}
|
|
|
|
return /** @type {const} */ ({
|
|
element,
|
|
update,
|
|
});
|
|
}
|