71 lines
3.0 KiB
Go
71 lines
3.0 KiB
Go
package gitctl
|
|
|
|
import "github.com/charmbracelet/lipgloss"
|
|
|
|
var (
|
|
colorGreen = lipgloss.Color("2")
|
|
colorRed = lipgloss.Color("1")
|
|
colorYellow = lipgloss.Color("3")
|
|
colorDim = lipgloss.Color("245")
|
|
colorAccent = lipgloss.Color("39")
|
|
|
|
frame = lipgloss.NewStyle().
|
|
Border(lipgloss.RoundedBorder()).
|
|
BorderForeground(colorDim).
|
|
Padding(0, 1)
|
|
|
|
navigationPaneStyle = lipgloss.NewStyle().
|
|
Border(lipgloss.NormalBorder(), false, true, false, false).
|
|
BorderForeground(lipgloss.Color("238")).
|
|
Padding(1, 1)
|
|
detailPaneStyle = lipgloss.NewStyle().Padding(1, 2)
|
|
|
|
titleStyle = lipgloss.NewStyle().Bold(true).Foreground(colorAccent)
|
|
|
|
statusOK = lipgloss.NewStyle().Foreground(colorGreen).Bold(true)
|
|
statusBad = lipgloss.NewStyle().Foreground(colorRed).Bold(true)
|
|
|
|
groupStyle = lipgloss.NewStyle().Bold(true).Foreground(colorDim)
|
|
itemStyle = lipgloss.NewStyle()
|
|
selectedStyle = lipgloss.NewStyle().Bold(true).Foreground(colorAccent)
|
|
hintStyle = lipgloss.NewStyle().Foreground(colorDim)
|
|
|
|
labelStyle = lipgloss.NewStyle().Foreground(colorDim).Width(12)
|
|
focusedLabelStyle = lipgloss.NewStyle().Bold(true).Foreground(colorAccent).Width(12)
|
|
inputStyle = lipgloss.NewStyle().Foreground(colorYellow)
|
|
focusedInputStyle = lipgloss.NewStyle().Foreground(colorGreen)
|
|
permStyle = lipgloss.NewStyle().Foreground(colorDim)
|
|
permActiveStyle = lipgloss.NewStyle().Bold(true).Foreground(colorAccent)
|
|
errStyle = lipgloss.NewStyle().Foreground(colorRed)
|
|
|
|
resultOKStyle = lipgloss.NewStyle().Foreground(colorGreen).Bold(true)
|
|
resultInfoStyle = lipgloss.NewStyle().Foreground(colorYellow).Bold(true)
|
|
resultErrStyle = lipgloss.NewStyle().Foreground(colorRed).Bold(true)
|
|
warnStyle = lipgloss.NewStyle().Foreground(colorYellow).Bold(true)
|
|
|
|
tabStyle = lipgloss.NewStyle().Foreground(colorDim).Padding(0, 1)
|
|
tabActiveStyle = lipgloss.NewStyle().Bold(true).Foreground(colorAccent).
|
|
Background(lipgloss.Color("235")).Padding(0, 1)
|
|
|
|
badgeOK = lipgloss.NewStyle().Foreground(colorGreen).Bold(true)
|
|
badgeWarn = lipgloss.NewStyle().Foreground(colorYellow)
|
|
badgeDim = lipgloss.NewStyle().Foreground(colorDim)
|
|
|
|
detailTitleStyle = lipgloss.NewStyle().Bold(true).Foreground(colorAccent)
|
|
detailEyebrowStyle = lipgloss.NewStyle().Bold(true).Foreground(colorDim)
|
|
detailNameStyle = lipgloss.NewStyle().Bold(true).Foreground(colorAccent)
|
|
detailFieldLabelStyle = lipgloss.NewStyle().Foreground(colorDim).Width(14)
|
|
cloneURLStyle = lipgloss.NewStyle().Foreground(colorGreen)
|
|
fieldLabelStyle = lipgloss.NewStyle().Foreground(colorDim)
|
|
fieldValueStyle = lipgloss.NewStyle()
|
|
actionKeyStyle = lipgloss.NewStyle().Bold(true).Foreground(colorAccent)
|
|
|
|
permPillRead = lipgloss.NewStyle().Foreground(colorDim)
|
|
permPillWrite = lipgloss.NewStyle().Foreground(colorYellow).Bold(true)
|
|
permPillAdmin = lipgloss.NewStyle().Foreground(colorGreen).Bold(true)
|
|
)
|
|
|
|
func fullScreenFrame(width, height int) lipgloss.Style {
|
|
return frame.Width(max(width-4, 1)).Height(max(height-4, 1))
|
|
}
|