1
0
mirror of https://github.com/tw93/Mole.git synced 2026-03-22 18:30:08 +00:00

fix(status): hide os and uptime in compact header

This commit is contained in:
tw93
2026-02-27 10:02:47 +08:00
parent 15f698c606
commit f4118dc883
2 changed files with 27 additions and 2 deletions

View File

@@ -134,6 +134,7 @@ func renderHeader(m MetricsSnapshot, errMsg string, animFrame int, termWidth int
if termWidth <= 0 { if termWidth <= 0 {
termWidth = 80 termWidth = 80
} }
compactHeader := termWidth <= 80
title := titleStyle.Render("Status") title := titleStyle.Render("Status")
@@ -166,10 +167,10 @@ func renderHeader(m MetricsSnapshot, errMsg string, animFrame int, termWidth int
if m.Hardware.RefreshRate != "" { if m.Hardware.RefreshRate != "" {
infoParts = append(infoParts, m.Hardware.RefreshRate) infoParts = append(infoParts, m.Hardware.RefreshRate)
} }
if m.Hardware.OSVersion != "" { if !compactHeader && m.Hardware.OSVersion != "" {
infoParts = append(infoParts, m.Hardware.OSVersion) infoParts = append(infoParts, m.Hardware.OSVersion)
} }
if m.Uptime != "" { if !compactHeader && m.Uptime != "" {
infoParts = append(infoParts, subtleStyle.Render("up "+m.Uptime)) infoParts = append(infoParts, subtleStyle.Render("up "+m.Uptime))
} }

View File

@@ -958,6 +958,30 @@ func TestRenderHeaderWrapsOnNarrowWidth(t *testing.T) {
} }
} }
func TestRenderHeaderHidesOSAndUptimeOnNarrowWidth(t *testing.T) {
m := MetricsSnapshot{
HealthScore: 91,
Hardware: HardwareInfo{
Model: "MacBook Pro",
CPUModel: "Apple M3 Max",
TotalRAM: "128GB",
DiskSize: "4TB",
RefreshRate: "120Hz",
OSVersion: "macOS 15.0",
},
Uptime: "10d 3h",
}
header, _ := renderHeader(m, "", 0, 80, true)
plain := stripANSI(header)
if strings.Contains(plain, "macOS 15.0") {
t.Fatalf("renderHeader() narrow width should hide os version, got %q", plain)
}
if strings.Contains(plain, "up 10d 3h") {
t.Fatalf("renderHeader() narrow width should hide uptime, got %q", plain)
}
}
func TestRenderCardWrapsOnNarrowWidth(t *testing.T) { func TestRenderCardWrapsOnNarrowWidth(t *testing.T) {
card := cardData{ card := cardData{
icon: iconCPU, icon: iconCPU,