This commit is contained in:
@@ -3,23 +3,137 @@ package styles
|
||||
import "github.com/charmbracelet/lipgloss"
|
||||
|
||||
var (
|
||||
MainStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(lipgloss.Color("#7fb4ca")).
|
||||
Primary = lipgloss.Color("#7aa2f7")
|
||||
Secondary = lipgloss.Color("#bb9af7")
|
||||
Success = lipgloss.Color("#9ece6a")
|
||||
Warning = lipgloss.Color("#e0af68")
|
||||
Error = lipgloss.Color("#f7768e")
|
||||
Muted = lipgloss.Color("#565f89")
|
||||
Text = lipgloss.Color("#c0caf5")
|
||||
Subtle = lipgloss.Color("#414868")
|
||||
Border = lipgloss.Color("#7aa2f7")
|
||||
)
|
||||
|
||||
var (
|
||||
AppStyle = lipgloss.NewStyle().
|
||||
Padding(1, 2)
|
||||
|
||||
HelpStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("241"))
|
||||
|
||||
TitleStyle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.Color("#7fb4ca")).
|
||||
Align(lipgloss.Center).
|
||||
Foreground(Primary).
|
||||
Bold(true).
|
||||
PaddingBottom(1)
|
||||
MarginBottom(1).
|
||||
MarginTop(1)
|
||||
|
||||
ActiveItemStyle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.Color("#87a987")).
|
||||
LogoStyle = lipgloss.NewStyle().
|
||||
Foreground(Secondary).
|
||||
Bold(true).
|
||||
Align(lipgloss.Center)
|
||||
|
||||
SubtitleStyle = lipgloss.NewStyle().
|
||||
Foreground(Muted).
|
||||
Italic(true)
|
||||
|
||||
BoxStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(Border).
|
||||
Padding(1, 2).
|
||||
MarginTop(1).
|
||||
MarginBottom(1)
|
||||
|
||||
ActiveBoxStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.ThickBorder()).
|
||||
BorderForeground(Primary).
|
||||
Padding(1, 2).
|
||||
MarginTop(1).
|
||||
MarginBottom(1)
|
||||
|
||||
InfoBoxStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(Secondary).
|
||||
Padding(0, 1).
|
||||
MarginTop(1)
|
||||
|
||||
WarningBoxStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(Warning).
|
||||
Padding(0, 1).
|
||||
MarginTop(1)
|
||||
|
||||
ErrorBoxStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(Error).
|
||||
Padding(0, 1).
|
||||
MarginTop(1)
|
||||
|
||||
HelpStyle = lipgloss.NewStyle().
|
||||
Foreground(Muted).
|
||||
MarginTop(1)
|
||||
|
||||
KeyStyle = lipgloss.NewStyle().
|
||||
Foreground(Primary).
|
||||
Bold(true)
|
||||
|
||||
ValueStyle = lipgloss.NewStyle().
|
||||
Foreground(Text)
|
||||
|
||||
ActiveItemStyle = lipgloss.NewStyle().
|
||||
Foreground(Primary).
|
||||
Bold(true).
|
||||
PaddingLeft(2)
|
||||
|
||||
InactiveItemStyle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.Color("240"))
|
||||
Foreground(Muted).
|
||||
PaddingLeft(2)
|
||||
|
||||
SelectedItemStyle = lipgloss.NewStyle().
|
||||
Foreground(Success).
|
||||
Bold(true)
|
||||
|
||||
LabelStyle = lipgloss.NewStyle().
|
||||
Foreground(Secondary).
|
||||
Bold(true).
|
||||
MarginRight(1)
|
||||
|
||||
InputStyle = lipgloss.NewStyle().
|
||||
Foreground(Text).
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(Subtle).
|
||||
Padding(0, 1)
|
||||
|
||||
FocusedInputStyle = lipgloss.NewStyle().
|
||||
Foreground(Text).
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(Primary).
|
||||
Padding(0, 1)
|
||||
|
||||
ProgressBarStyle = lipgloss.NewStyle().
|
||||
Foreground(Primary)
|
||||
|
||||
ProgressTextStyle = lipgloss.NewStyle().
|
||||
Foreground(Muted)
|
||||
|
||||
SuccessStyle = lipgloss.NewStyle().
|
||||
Foreground(Success).
|
||||
Bold(true)
|
||||
|
||||
ErrorStyle = lipgloss.NewStyle().
|
||||
Foreground(Error).
|
||||
Bold(true)
|
||||
|
||||
SpinnerStyle = lipgloss.NewStyle().
|
||||
Foreground(Primary)
|
||||
)
|
||||
|
||||
func RenderKeyValue(key, value string) string {
|
||||
return KeyStyle.Render(key+":") + " " + ValueStyle.Render(value)
|
||||
}
|
||||
|
||||
func RenderHelp(keys ...string) string {
|
||||
var parts []string
|
||||
for i := 0; i < len(keys); i += 2 {
|
||||
if i+1 < len(keys) {
|
||||
parts = append(parts, KeyStyle.Render(keys[i])+" "+HelpStyle.Render(keys[i+1]))
|
||||
}
|
||||
}
|
||||
return HelpStyle.Render(lipgloss.JoinHorizontal(lipgloss.Left, parts...))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user