feat(tui): mouse click for settings sections, column sort, logs panel
CI / test (pull_request) Successful in 1m49s
CI / lint (pull_request) Successful in 1m17s
CI / vulncheck (pull_request) Successful in 51s

- Click Alerts/Nodes/Users sub-tabs in settings to switch sections
- Click STATUS/NAME/LATENCY column headers to sort (click again
  to reverse direction)
- Logs panel show/hide: [l] toggles sidebar visibility, click
  focused panel to hide. Monitors expand to full width when hidden.
- Logs full-screen: Enter when focused on logs opens scrollable
  full-screen log view with severity tags, filter toggle [f],
  and live updates
This commit is contained in:
2026-06-28 11:34:34 -04:00
parent ab1194f74d
commit 650e6c4b16
6 changed files with 127 additions and 5 deletions
+10
View File
@@ -110,6 +110,11 @@ func (m Model) computeLayout() tableLayout {
sortName: colName,
sortLatency: colLatency,
}
sortableKeys := map[colKey]string{
colStatus: "sort-status",
colName: "sort-name",
colLatency: "sort-latency",
}
if sortedKey, ok := sortColMap[m.sortColumn]; ok {
arrow := "▼"
if m.sortAsc {
@@ -122,6 +127,11 @@ func (m Model) computeLayout() tableLayout {
}
}
}
for i, k := range active {
if zoneID, ok := sortableKeys[k]; ok {
headers[i] = m.zones.Mark(zoneID, headers[i])
}
}
numCols := len(headers)
borderOverhead := 2 + (numCols - 1)