1import { versionInfo, versionStatusBadge } from "../data/versionInfo.js?v=0.1.821"; 2 3function escapeHtml(value) { 4 return String(value ?? "") 5 .replaceAll("&", "&") 6 .replaceAll("<", "<") 7 .replaceAll(">", ">") 8 .replaceAll('"', """) 9 .replaceAll("'", "'"); 10} 11 12function infoItem(label, value) { 13 return ` 14 <div class="version-backup-info__item"> 15 <dt>${escapeHtml(label)}</dt> 16 <dd>${escapeHtml(value)}</dd> 17 </div> 18 `; 19} 20 21export function VersionBackupInfo() { 22 const statusClass = versionInfo.status === "stable" ? "stable" : "development"; 23 24 return ` 25 <section class="version-backup-info" aria-labelledby="version-backup-title"> 26 <div class="version-backup-info__header"> 27 <div> 28 <p class="version-backup-info__eyebrow">${escapeHtml(versionInfo.appName)}</p> 29 <h2 id="version-backup-title">Servisnà informace</h2> 30 </div> 31 <span class="version-backup-info__badge version-backup-info__badge--${statusClass}"> 32 ${escapeHtml(versionStatusBadge(versionInfo.status))} 33 </span> 34 </div> 35 <dl class="version-backup-info__grid"> 36 ${infoItem("Verze", versionInfo.version)} 37 ${infoItem("Záloha", versionInfo.backupDate)} 38 ${infoItem("Commit", versionInfo.commit)} 39 </dl> 40 </section> 41 `; 42}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.