`) + b.WriteString(``) + + b.WriteString(renderSessionsControls(projects, sq)) + b.WriteString(renderFilterChips(projects, sq)) + + if v.Shown == 0 { + if sq.Filtered() { + b.WriteString(`
No sessions match these filters.
Clear filters
`) + } else { + b.WriteString(`
No sessions found. ccx reads ~/.claude, ~/.codex and ~/.grok — start an agent session first.
`) + } + } else { + for _, g := range v.Groups { + b.WriteString(`
`) + if g.Label != "" { + renderGroupHead(&b, g, sq.GroupBy) + } + b.WriteString(`
`) + for _, e := range g.Entries { + renderSessionRow(&b, e, sq.GroupBy) + } + b.WriteString(`
`) + } + } + + b.WriteString(renderSessionsFooter(sq, v)) + + b.WriteString(`