website: snapshot

This commit is contained in:
nym21
2026-01-22 15:12:56 +01:00
parent bf13249003
commit b557477770
14 changed files with 221 additions and 2389 deletions

View File

@@ -29,7 +29,6 @@ export function init({ option, brk }) {
parent: chartElement,
id: "charts",
brk,
captureElement: chartElement,
});
// Create index selector using chart's index state
@@ -104,10 +103,7 @@ export function init({ option, brk }) {
});
// Live price update listener
signals.createEffect(
() => webSockets.kraken1dCandle.latest(),
updatePriceWithLatest,
);
webSockets.kraken1dCandle.onLatest(updatePriceWithLatest);
}
/**
@@ -154,10 +150,6 @@ function createIndexSelector(option, chart) {
fieldset.id = "interval";
fieldset.dataset.size = "sm";
const screenshotSpan = window.document.createElement("span");
screenshotSpan.innerText = "interval:";
fieldset.append(screenshotSpan);
// Track user's preferred index (only updated on explicit selection)
let preferredIndex = chart.index.name.value;

View File

@@ -0,0 +1,45 @@
import { getElementById } from "../utils/dom.js";
import * as leanQr from "../modules/lean-qr/2.7.1/index.mjs";
const shareDiv = getElementById("share-div");
const shareContentDiv = getElementById("share-content-div");
const shareButton = getElementById("share-button");
const imgQrcode = /** @type {HTMLImageElement} */ (getElementById("share-img"));
const anchor = /** @type {HTMLAnchorElement} */ (
getElementById("share-anchor")
);
/** @param {string | null} url */
export function setQr(url) {
if (!url) {
shareDiv.hidden = true;
return;
}
anchor.href = url;
anchor.innerText =
(url.startsWith("http") ? url.split("//").at(-1) : url.split(":").at(-1)) ||
"";
imgQrcode.src =
leanQr.generate(/** @type {any} */ (url))?.toDataURL({
// @ts-ignore
padX: 0,
padY: 0,
}) || "";
shareDiv.hidden = false;
}
shareButton.addEventListener("click", () => {
setQr(window.location.href);
});
shareDiv.addEventListener("click", () => {
setQr(null);
});
shareContentDiv.addEventListener("click", (event) => {
event.stopPropagation();
event.preventDefault();
});