Add UI improvements: date formatting, breadcrumbs, clickable rows, and structured menu

- Format dates as YYYY-MM-DD with full timestamp on hover
- Add breadcrumb navigation with hospital icon (🏥) across all pages
- Restructure main menu with grouped dropdowns:
  * Hardware (Assets, Components)
  * Health (Tickets, Failures, Analytics)
  * Settings (Ingest)
- Make table rows clickable on Dashboard, Assets, and Components pages
- Add new Customers page with list view
- Improve dropdown menu stability with JS hover delay

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-14 08:46:07 +03:00
parent 849235be22
commit 5f96ff2273
12 changed files with 327 additions and 29 deletions

View File

@@ -4,6 +4,7 @@
{{template "head" .}}
<body>
{{template "topbar" .}}
{{template "breadcrumbs" .}}
<main class="container">
<section class="card">
@@ -34,13 +35,13 @@
</thead>
<tbody>
{{range .Components}}
<tr>
<tr class="clickable" onclick="navigateToRow('/ui/components/{{.ID}}')">
<td><a href="/ui/components/{{.ID}}">{{.ID}}</a></td>
<td>{{.VendorSerial}}</td>
<td>{{if .Vendor}}{{.Vendor}}{{else}}—{{end}}</td>
<td>{{if .Model}}{{.Model}}{{else}}—{{end}}</td>
<td>{{if .LotID}}{{.LotID}}{{else}}—{{end}}</td>
<td>{{formatTimePtr .FirstSeenAt}}</td>
<td title="{{formatTimePtrFull .FirstSeenAt}}">{{formatTimePtr .FirstSeenAt}}</td>
</tr>
{{end}}
</tbody>
@@ -57,7 +58,7 @@
{{range .Events}}
<div class="event">
<div>
<div class="time">{{formatTime .EventTime}}</div>
<div class="time" title="{{formatTimeFull .EventTime}}">{{formatTime .EventTime}}</div>
<div class="pill">{{.EventType}}</div>
</div>
<div>
@@ -79,7 +80,7 @@
{{range .Tickets}}
<div class="ticket">
<div class="title">{{.Title}}</div>
<div class="meta">{{.Source}} · {{.ExternalID}} · {{.Status}} · Opened {{formatTimePtr .OpenedAt}}</div>
<div class="meta">{{.Source}} · {{.ExternalID}} · {{.Status}} · Opened <span title="{{formatTimePtrFull .OpenedAt}}">{{formatTimePtr .OpenedAt}}</span></div>
{{if .URL}}<div class="meta"><a href="{{.URL}}" target="_blank" rel="noreferrer">Ticket link</a></div>{{end}}
</div>
{{end}}