Files
core/internal/api/ui_failure_detail.tmpl

69 lines
3.6 KiB
Cheetah

{{define "failure_detail"}}
<!DOCTYPE html>
<html lang="en">
{{template "head" .}}
<body>
{{template "topbar" .}}
{{template "breadcrumbs" .}}
<main class="container">
<section class="card">
<h2 style="margin-top:0;">Failure Summary</h2>
<div class="meta-grid">
<div><span>Failure ID</span><div class="field-value">{{.Detail.Failure.ID}}</div></div>
<div><span>Failure Type</span><div class="field-value">{{.Detail.Failure.FailureType}}</div></div>
<div><span>Failure Time</span><div class="field-value" title="{{formatTimeFull .Detail.Failure.FailureTime}}">{{formatTimeFull .Detail.Failure.FailureTime}}</div></div>
<div><span>Status</span><div class="field-value">{{if .Detail.IsOpen}}Open{{else}}Closed{{end}}</div></div>
<div><span>Open Duration</span><div class="field-value">{{.Detail.OpenDurationText}}</div></div>
<div><span>Location</span><div class="field-value">{{if .Detail.Slot}}{{.Detail.Slot}}{{else}}—{{end}}</div></div>
</div>
<div style="margin-top:12px;">
<div><strong>Details:</strong> {{if .Detail.Failure.Details}}{{.Detail.Failure.Details}}{{else}}—{{end}}</div>
</div>
</section>
<section class="card">
<h2 style="margin-top:0;">Server & Component</h2>
<div class="meta-grid">
<div>
<span>Server</span>
<div class="field-value">{{if .Detail.AssetURL}}<a href="{{.Detail.AssetURL}}">{{.Detail.AssetLabel}}</a>{{else}}{{.Detail.AssetLabel}}{{end}}</div>
</div>
<div>
<span>Failed Component</span>
<div class="field-value">{{if .Detail.ComponentURL}}<a href="{{.Detail.ComponentURL}}">{{.Detail.ComponentLabel}}</a>{{else}}{{.Detail.ComponentLabel}}{{end}}</div>
<div class="meta">{{if .Detail.ComponentModel}}{{.Detail.ComponentModel}}{{else}}—{{end}}</div>
</div>
<div><span>Installed In Server At</span><div class="field-value">{{if .Detail.InstalledAt}}{{formatTimePtrFull .Detail.InstalledAt}}{{else}}—{{end}}</div></div>
</div>
</section>
<section class="card">
<h2 style="margin-top:0;">Repair / Replacement</h2>
{{if .Detail.RepairAt}}
<div class="meta-grid">
<div><span>Repaired At</span><div class="field-value">{{if .Detail.RepairAt}}{{formatTimePtrFull .Detail.RepairAt}}{{else}}—{{end}}</div></div>
<div><span>Repair Method</span><div class="field-value">Replacement in same slot</div></div>
<div><span>Model Changed</span><div class="field-value">{{if .Detail.ModelChanged}}Yes{{else}}No{{end}}</div></div>
</div>
<div class="meta-grid" style="margin-top:12px;">
<div><span>Model (old / new)</span><div class="field-value">{{.Detail.OldModel}} / {{.Detail.NewModel}}</div></div>
<div><span>Serial (old / new)</span><div class="field-value">{{.Detail.OldSerial}} / {{.Detail.NewSerial}}</div></div>
</div>
<div style="margin-top:12px;">
<span>Replacement Component</span>
<div class="field-value">{{if .Detail.RepairComponentURL}}<a href="{{.Detail.RepairComponentURL}}">{{.Detail.RepairComponentLabel}}</a>{{else}}{{.Detail.RepairComponentLabel}}{{end}}</div>
</div>
{{else}}
<div class="meta">No replacement repair detected yet. Problem is still open.</div>
<div class="meta-grid" style="margin-top:12px;">
<div><span>Model (old / new)</span><div class="field-value">{{.Detail.OldModel}} / —</div></div>
<div><span>Serial (old / new)</span><div class="field-value">{{.Detail.OldSerial}} / —</div></div>
</div>
{{end}}
</section>
</main>
</body>
</html>
{{end}}