Files
TA-Deployment-Broker/internal/app/templates/components.html
T
David Schroeder 0ceb342d14 update
2026-07-25 15:25:24 -05:00

45 lines
1.5 KiB
HTML

{{define "topbar"}}
<header class="topbar">
<a class="brand" href="/portal" aria-label="Technology Architects Deployment Access">
<span class="brand-logo"><img src="/static/ta-logo.svg" alt="Technology Architects"></span>
<span class="brand-fallback">TAPM</span>
</a>
<nav class="portal-nav" aria-label="Portal">
<a href="/portal" {{if eq .CurrentView "codes"}}class="active" aria-current="page"{{end}}>Codes</a>
<a href="/portal/packages" {{if eq .CurrentView "packages"}}class="active" aria-current="page"{{end}}>Packages</a>
<a href="/portal/audit" {{if eq .CurrentView "audit"}}class="active" aria-current="page"{{end}}>Audit</a>
</nav>
<div class="operator">
<span>{{.Technician.DisplayName}}</span>
<form action="/auth/logout" method="post">
<input type="hidden" name="csrf_token" value="{{.CSRFToken}}">
<button class="text-button" type="submit">Sign out</button>
</form>
</div>
</header>
{{end}}
{{define "audit-rows"}}
<div class="audit-table">
{{range .AuditEvents}}
<div class="audit-row">
<div>
<strong>{{.EventType}}</strong>
<small>{{formatTime .CreatedAt}}</small>
</div>
<div>
{{if .Actor}}<span>{{.Actor}}</span>{{end}}
{{if .Hostname}}<span>{{.Hostname}}</span>{{end}}
{{if .PackageSlug}}<span>{{.PackageSlug}}</span>{{end}}
</div>
<div>
<span>{{.SourceIP}}</span>
{{if .Details}}<small>{{.Details}}</small>{{end}}
</div>
</div>
{{else}}
<p class="empty audit-empty">No security events match this view.</p>
{{end}}
</div>
{{end}}