1package chat
2
3import (
4 "fmt"
5 "strings"
6
7 "github.com/charmbracelet/crush/internal/tui/styles"
8 "github.com/charmbracelet/lipgloss/v2"
9)
10
11func queuePill(queue int, t *styles.Theme) string {
12 if queue <= 0 {
13 return ""
14 }
15 triangles := styles.ForegroundGrad("▶▶▶▶▶▶▶▶▶", false, t.RedDark, t.Accent)
16 if queue < 10 {
17 triangles = triangles[:queue]
18 }
19
20 allTriangles := strings.Join(triangles, "")
21
22 return t.S().Base.
23 BorderStyle(lipgloss.RoundedBorder()).
24 BorderForeground(t.BgOverlay).
25 PaddingLeft(1).
26 PaddingRight(1).
27 Render(fmt.Sprintf("%s %d Queued", allTriangles, queue))
28}