feat(tui): lazygit-style titled panel borders

All panels wrapped in titled rounded borders (╭─ Title ──╮). Focused
panel gets accent-colored border, unfocused panels get muted border.

- Monitors panel: titled "Monitors", focused when detail is closed
- Logs panel: titled "Logs", always unfocused (passive display)
- Detail panel: titled with monitor name, focused when open

Table's own RoundedBorder replaced with HiddenBorder — the titled
panel border provides the visual frame, table uses space-separated
columns internally. Consistent chrome across all panels.
This commit is contained in:
2026-06-20 19:30:59 -04:00
parent 065d5d74bb
commit e5ac4a1fec
4 changed files with 77 additions and 32 deletions
+2 -3
View File
@@ -52,8 +52,7 @@ func (m Model) renderTable(headers []string, items int, buildRows func(start, en
}
t := table.New().
Border(lipgloss.RoundedBorder()).
BorderStyle(m.st.tableBorderStyle).
Border(lipgloss.HiddenBorder()).
Width(tableWidth).
Headers(headers...).
Rows(rows...).
@@ -94,5 +93,5 @@ func (m Model) renderTable(headers []string, items int, buildRows func(start, en
return base
})
return "\n" + t.Render()
return t.Render()
}