feat(tui): consolidate tabs 6→3, add log sidebar #145

Merged
lerko merged 5 commits from feat/tab-consolidation into main 2026-06-20 22:32:33 +00:00
Showing only changes of commit 5c40629987 - Show all commits
+18 -7
View File
@@ -1,8 +1,9 @@
package tui package tui
import ( import (
"fmt"
"strings" "strings"
"github.com/charmbracelet/lipgloss"
) )
func (m Model) renderCompactLogLine(line string, maxW int) string { func (m Model) renderCompactLogLine(line string, maxW int) string {
@@ -31,16 +32,24 @@ func (m Model) renderCompactLogLine(line string, maxW int) string {
} }
} }
msgW := maxW - 10 msg = strings.TrimPrefix(msg, "Monitor ")
if msgW < 10 { msg = strings.TrimPrefix(msg, "Push ")
msgW = 10
// prefix: " HH:MM ● " = 9 visible chars, or " ● " = 3 without timestamp
prefixW := 3
if ts != "" {
prefixW = len(ts) + 4
}
msgW := maxW - prefixW
if msgW < 5 {
msgW = 5
} }
msg = limitStr(msg, msgW) msg = limitStr(msg, msgW)
if ts != "" { if ts != "" {
return fmt.Sprintf(" %s %s %s", m.st.subtleStyle.Render(ts), tag, msg) return " " + m.st.subtleStyle.Render(ts) + " " + tag + " " + msg
} }
return fmt.Sprintf(" %s %s", tag, msg) return " " + tag + " " + msg
} }
func (m Model) viewLogsSidebar(width int) string { func (m Model) viewLogsSidebar(width int) string {
@@ -49,6 +58,8 @@ func (m Model) viewLogsSidebar(width int) string {
return m.st.subtleStyle.Render(" No logs yet") return m.st.subtleStyle.Render(" No logs yet")
} }
sidebarStyle := lipgloss.NewStyle().Width(width).MaxWidth(width)
var lines []string var lines []string
for _, line := range logs { for _, line := range logs {
if strings.TrimSpace(line) == "" { if strings.TrimSpace(line) == "" {
@@ -60,5 +71,5 @@ func (m Model) viewLogsSidebar(width int) string {
lines = append(lines, m.renderCompactLogLine(line, width)) lines = append(lines, m.renderCompactLogLine(line, width))
} }
return strings.Join(lines, "\n") return sidebarStyle.Render(strings.Join(lines, "\n"))
} }