import { useEffect } from "preact/hooks";
import { signal } from "@preact/signals";
import { localGet } from "../../lib/api.js";
import { readLoadedBundleHash } from "../../lib/bundleHash.js";
const info = signal(null);
export function BuildInfoCard() {
useEffect(() => {
localGet("/api/build-info")
.then((d) => (info.value = d))
.catch(() => {});
}, []);
const srv = info.value;
const feHash = readLoadedBundleHash();
return (
<section class="settings-group" id="build-info">
<h2>Build</h2>
<div class="settings-row">
<span class="settings-label">
<strong>App version</strong>
</span>
<span class="settings-value" id="buildVersion">
{srv?.version || "…"}
</span>
</div>
<div class="settings-row">
<span class="settings-label">
<strong>Server build hash</strong>
<small>Hash of the frontend bundle this server has on disk.</small>
</span>
<span class="settings-value" id="buildServerHash">
{srv?.build_hash || "…"}
</span>
</div>
<div class="settings-row">
<span class="settings-label">
<strong>Frontend bundle hash</strong>
<small>Hash of the SPA bundle loaded in this browser tab.</small>
</span>
<span class="settings-value" id="buildFeHash">
{feHash || "dev"}
</span>
</div>
</section>
);
}