fix(tui): version string, tab rename, sparse tab centering #142
|
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 823 KiB After Width: | Height: | Size: 959 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 220 KiB After Width: | Height: | Size: 213 KiB |
|
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 216 KiB After Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 269 KiB After Width: | Height: | Size: 277 KiB |
@@ -52,7 +52,14 @@ func init() {
|
||||
return
|
||||
}
|
||||
if mv := info.Main.Version; mv != "" && mv != "(devel)" {
|
||||
version = strings.TrimPrefix(mv, "v")
|
||||
mv = strings.TrimPrefix(mv, "v")
|
||||
// Pseudo-versions (e.g. "0.1.1-0.20260620165311-5ca534b0b100+dirty")
|
||||
// are noisy in the TUI footer. Extract just the base semver.
|
||||
if i := strings.Index(mv, "-0."); i > 0 {
|
||||
mv = mv[:i]
|
||||
}
|
||||
mv = strings.TrimSuffix(mv, "+dirty")
|
||||
version = mv
|
||||
}
|
||||
for _, s := range info.Settings {
|
||||
switch s.Key {
|
||||
|
||||
@@ -194,7 +194,7 @@ type tabEntry struct {
|
||||
|
||||
func (m Model) renderTabBar(stats dashboardStats) string {
|
||||
tabs := []tabEntry{
|
||||
{"Sites", stats.totalMonitors, stats.downCount + stats.lateCount},
|
||||
{"Monitors", stats.totalMonitors, stats.downCount + stats.lateCount},
|
||||
{"Alerts", len(m.alerts), 0},
|
||||
{"Logs", 0, 0},
|
||||
{"Nodes", len(m.nodes), stats.offlineNodes},
|
||||
|
||||
@@ -25,13 +25,13 @@ func (m Model) viewDetailPanel() string {
|
||||
if site.ParentID > 0 {
|
||||
for _, s := range m.sites {
|
||||
if s.ID == site.ParentID {
|
||||
breadcrumb = m.st.subtleStyle.Render(" Sites > "+s.Name+" > ") + m.st.titleStyle.Render(site.Name)
|
||||
breadcrumb = m.st.subtleStyle.Render(" Monitors > "+s.Name+" > ") + m.st.titleStyle.Render(site.Name)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if breadcrumb == "" {
|
||||
breadcrumb = m.st.subtleStyle.Render(" Sites > ") + m.st.titleStyle.Render(site.Name)
|
||||
breadcrumb = m.st.subtleStyle.Render(" Monitors > ") + m.st.titleStyle.Render(site.Name)
|
||||
}
|
||||
b.WriteString(breadcrumb + "\n")
|
||||
b.WriteString(m.divider() + "\n")
|
||||
|
||||