feat(tui): inline detail panel, titled borders, panel focus #146
@@ -52,7 +52,7 @@ func (m Model) renderCompactLogLine(line string, maxW int) string {
|
|||||||
return " " + tag + " " + msg
|
return " " + tag + " " + msg
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m Model) viewLogsSidebar(width int) string {
|
func (m Model) viewLogsSidebar(width, maxLines int) string {
|
||||||
logs := m.engine.GetLogs()
|
logs := m.engine.GetLogs()
|
||||||
if len(logs) == 0 {
|
if len(logs) == 0 {
|
||||||
return m.st.subtleStyle.Render(" No logs yet")
|
return m.st.subtleStyle.Render(" No logs yet")
|
||||||
@@ -69,6 +69,9 @@ func (m Model) viewLogsSidebar(width int) string {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
lines = append(lines, m.renderCompactLogLine(line, width))
|
lines = append(lines, m.renderCompactLogLine(line, width))
|
||||||
|
if maxLines > 0 && len(lines) >= maxLines {
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return "\n" + sidebarStyle.Render(strings.Join(lines, "\n"))
|
return "\n" + sidebarStyle.Render(strings.Join(lines, "\n"))
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ func (m Model) viewDashboard() string {
|
|||||||
m.contentWidth = leftW
|
m.contentWidth = leftW
|
||||||
monitors := m.viewSitesTab()
|
monitors := m.viewSitesTab()
|
||||||
left := lipgloss.NewStyle().Width(leftW).Render(monitors)
|
left := lipgloss.NewStyle().Width(leftW).Render(monitors)
|
||||||
sidebar := m.viewLogsSidebar(rightW)
|
sidebar := m.viewLogsSidebar(rightW, m.maxTableRows+chromeTable)
|
||||||
right := lipgloss.NewStyle().Width(rightW).Render(sidebar)
|
right := lipgloss.NewStyle().Width(rightW).Render(sidebar)
|
||||||
top := lipgloss.JoinHorizontal(lipgloss.Top, left, right)
|
top := lipgloss.JoinHorizontal(lipgloss.Top, left, right)
|
||||||
if m.detailOpen {
|
if m.detailOpen {
|
||||||
|
|||||||
@@ -18,8 +18,8 @@ func (m Model) viewDetailInline(width int) string {
|
|||||||
|
|
||||||
var b strings.Builder
|
var b strings.Builder
|
||||||
|
|
||||||
title := m.st.dangerStyle.Render("▶ " + site.Name)
|
title := m.st.titleStyle.Render(site.Name)
|
||||||
b.WriteString(title + "\n")
|
b.WriteString(" " + title + "\n")
|
||||||
|
|
||||||
divW := width - 4
|
divW := width - 4
|
||||||
if divW < 20 {
|
if divW < 20 {
|
||||||
|
|||||||
Reference in New Issue
Block a user