Ultralight/ui/theme.go

83 lines
1.7 KiB
Go

package ui
import (
"github.com/charmbracelet/lipgloss"
)
// base - background
// surface - not active popups, inputs, etc
// overlay - active popups, inputs ,etc
// muted - ignored, not needed
// subtle - inactive tabs, items, etc
// text - text color
// err - errors
// info - informational messages
// cyan, green, blue, magenta - accessory colors for styling
type Rosepine struct {
Base lipgloss.AdaptiveColor
Surface lipgloss.AdaptiveColor
Overlay lipgloss.AdaptiveColor
Muted lipgloss.AdaptiveColor
Subtle lipgloss.AdaptiveColor
Text lipgloss.AdaptiveColor
Err lipgloss.AdaptiveColor
Info lipgloss.AdaptiveColor
Cyan lipgloss.AdaptiveColor
Green lipgloss.AdaptiveColor
Blue lipgloss.AdaptiveColor
Magenta lipgloss.AdaptiveColor
}
func MakeTheme() Rosepine {
return Rosepine{
Base: lipgloss.AdaptiveColor{
Light:"#faf4ed",
Dark:"#232136",
},
Surface: lipgloss.AdaptiveColor{
Light:"#fffaf3",
Dark:"#2a273f",
},
Overlay: lipgloss.AdaptiveColor{
Light:"#f2e9e1",
Dark:"#393552",
},
Muted: lipgloss.AdaptiveColor{
Light:"#9893a5",
Dark:"#6e6a86",
},
Subtle: lipgloss.AdaptiveColor{
Light:"#797593",
Dark:"#908caa",
},
Text: lipgloss.AdaptiveColor{
Light:"#575279",
Dark:"#e0def4",
},
Err: lipgloss.AdaptiveColor{
Light:"#b4637a",
Dark:"#eb6f92",
},
Info: lipgloss.AdaptiveColor{
Light:"#ea9d34",
Dark:"#f6c177",
},
Cyan: lipgloss.AdaptiveColor{
Light:"#d7827e",
Dark:"#ea9a97",
},
Green: lipgloss.AdaptiveColor{
Light:"#286983",
Dark:"#3e8fb0",
},
Blue: lipgloss.AdaptiveColor{
Light:"#56949f",
Dark:"#9ccfd8",
},
Magenta: lipgloss.AdaptiveColor{
Light:"#907aa9",
Dark:"#c4a7e7",
},
}
}