fix(admin): render service health details as structured HTML
CI / test (push) Successful in 1m53s
CI / docker (push) Successful in 36s

This commit is contained in:
zwitschi committed 2026-08-16 11:12:21 +02:00
1 parent 9a0511b36b
commit e7bff8b9c0
1 file changed
+9 -5
+9 -5
View File
@@ -562,17 +562,21 @@ async function deleteOverride(id: number) {
async function renderServiceRow(service: any) {
const svcDetail = service.detail || "";
// playout service returns json detail, all others return ISO formatted time string
// playout service returns json detail, all others return `local process` or `ping ok`
if (service.name === "playout" && svcDetail) {
try {
// create a list of key-value pairs for each property in the JSON object
const detailObj = JSON.parse(svcDetail);
service.detail = Object.entries(detailObj)
.map(([key, value]) => `${key}: ${value}`)
.join("\n");
// create a list item for each key-value pair in the object
const detailList = Object.entries(detailObj)
.map(([key, value]) => `<li><strong>${key}:</strong> ${value}</li>`)
.join("");
service.detail = `<ul>${detailList}</ul>`;
} catch {
// ignore JSON parse errors
}
} else {
service.detail = `<p>${service.detail}</p>`;
}
const row = document.createElement("article");
@@ -584,7 +588,7 @@ async function renderServiceRow(service: any) {
</div>
<div class="service-row-right">
<p class="service-status service-status-${service.status}">${service.status}</p>
<p>${service.detail}</p>
${service.detail}
</div>
`;
return row;