pkg/tui/styles.go 1.2 K raw
1
package tui
2
3
import "charm.land/lipgloss/v2"
4
5
// Standard styles shared across andromeda TUIs.
6
var (
7
	TitleStyle = lipgloss.NewStyle().
8
			Bold(true).
9
			Foreground(lipgloss.Color("3")).
10
			Padding(0, 1)
11
	StatusOKStyle = lipgloss.NewStyle().
12
			Foreground(lipgloss.Color("2")).
13
			Bold(true)
14
	StatusErrStyle = lipgloss.NewStyle().
15
			Foreground(lipgloss.Color("1")).
16
			Bold(true)
17
	HintStyle = lipgloss.NewStyle().
18
			Foreground(lipgloss.Color("8"))
19
	ModalStyle = lipgloss.NewStyle().
20
			Border(lipgloss.RoundedBorder()).
21
			BorderForeground(lipgloss.Color("3")).
22
			Padding(1, 2)
23
	StatusModalStyle = lipgloss.NewStyle().
24
				Border(lipgloss.RoundedBorder()).
25
				BorderForeground(lipgloss.Color("3")).
26
				Padding(0, 1)
27
)
28
29
// Border returns the inactive pane border style using the given border.
30
func Border(b lipgloss.Border) lipgloss.Style {
31
	return lipgloss.NewStyle().
32
		Border(lipgloss.RoundedBorder()).
33
		BorderForeground(lipgloss.Color("8"))
34
}
35
36
// BorderActive returns the focused pane border style using the given border.
37
func BorderActive(b lipgloss.Border) lipgloss.Style {
38
	return lipgloss.NewStyle().
39
		Border(lipgloss.RoundedBorder()).
40
		BorderForeground(lipgloss.Color("3"))
41
}