mirror of
https://seed.radicle.dev/rad:z371PVmDHdjJucejRoRYJcDEvD5pp.git
synced 2026-10-18 19:10:34 +08:00
38 lines
1.6 KiB
JavaScript
38 lines
1.6 KiB
JavaScript
function getRelease(name, urlBase, releaseId, knownTimestamp) {
|
|
const releases = document.getElementById(`${releaseId}-releases`);
|
|
|
|
fetch(`${urlBase}/${releaseId}.json`)
|
|
.then(res => res.json())
|
|
.then(data => {
|
|
if (data.timestamp === knownTimestamp) {
|
|
console.info(`Release data for ${name} is up to date.`)
|
|
return;
|
|
}
|
|
|
|
const version = data.version;
|
|
const commit = data.commit;
|
|
const release = document.getElementById(`${releaseId}-release-header`);
|
|
const releaseName = document.getElementById(`${releaseId}-release-name`);
|
|
const releaseInfo = document.getElementById(`${releaseId}-release-info`);
|
|
|
|
document.querySelectorAll(`#${releaseId}-releases [data-release-binary]`).forEach((row) => {
|
|
const arch = row.dataset.releaseArch;
|
|
const binary = row.dataset.releaseBinary;
|
|
const archive = `${releaseId}-${version}-${arch}-${binary}.tar.xz`;
|
|
const url = `${urlBase}/${archive}`;
|
|
|
|
row.querySelector(".release-arch").innerText = arch;
|
|
row.querySelector(".release-url").innerText = archive;
|
|
row.querySelector(".release-sig").innerText = ".sig";
|
|
row.querySelector(".release-checksum").innerText = ".sha256";
|
|
|
|
row.querySelector(".release-url").href = url;
|
|
row.querySelector(".release-sig").href = `${url}.sig`;
|
|
row.querySelector(".release-checksum").href = `${url}.sha256`;
|
|
});
|
|
|
|
release.classList.remove("loading");
|
|
releaseName.innerText = `${name} ${version}`;
|
|
releaseInfo.innerHTML = `Built from commit <code>${commit}</code> on ${new Date(data.timestamp * 1000).toISOString()}.`;
|
|
});
|
|
} |