feat: add core types and styles for Tier management
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package core
|
||||
|
||||
import "github.com/charmbracelet/lipgloss"
|
||||
|
||||
type Item string
|
||||
|
||||
type Tier struct {
|
||||
Name string
|
||||
Items []Item
|
||||
Color lipgloss.Color
|
||||
}
|
||||
|
||||
type SaveState struct {
|
||||
Tiers []struct {
|
||||
Name string `json:"name"`
|
||||
Items []Item `json:"items"`
|
||||
} `json:"tiers"`
|
||||
}
|
||||
|
||||
type Saver interface {
|
||||
Save(filename string, state SaveState) error
|
||||
Load(filename string) (SaveState, error)
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package styles
|
||||
|
||||
import "github.com/charmbracelet/lipgloss"
|
||||
|
||||
const red_color = "#FF7F7F"
|
||||
const orange_color = "#FFBF7F"
|
||||
const yellow_color = "#FFDF7F"
|
||||
const light_yellow_color = "#FFFF7F"
|
||||
const green_color = "#BFFF7F"
|
||||
const blue_color = "#7F7FFF"
|
||||
|
||||
var (
|
||||
TierColors = []lipgloss.Color{
|
||||
lipgloss.Color(red_color),
|
||||
lipgloss.Color(orange_color),
|
||||
lipgloss.Color(yellow_color),
|
||||
lipgloss.Color(light_yellow_color),
|
||||
lipgloss.Color(green_color),
|
||||
lipgloss.Color(blue_color),
|
||||
}
|
||||
|
||||
TierLabelStyle = lipgloss.NewStyle().
|
||||
Width(10).
|
||||
Align(lipgloss.Center).
|
||||
Bold(true).
|
||||
Padding(1, 0).
|
||||
MarginRight(1).Foreground(lipgloss.Color("0"))
|
||||
|
||||
ItemStyle = lipgloss.NewStyle().
|
||||
Padding(0, 1).
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(lipgloss.Color("240")).
|
||||
MarginRight(1)
|
||||
|
||||
SelectedItemStyle = ItemStyle.
|
||||
BorderForeground(lipgloss.Color("69")).
|
||||
Foreground(lipgloss.Color("255"))
|
||||
|
||||
DraggingItemStyle = ItemStyle.
|
||||
BorderForeground(lipgloss.Color("220")).
|
||||
Background(lipgloss.Color("236")).
|
||||
Bold(true)
|
||||
|
||||
StatusStyle = lipgloss.NewStyle().
|
||||
Foreground(lipgloss.Color("241")).
|
||||
MarginTop(1)
|
||||
|
||||
InputBoxStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(lipgloss.Color("62")).
|
||||
Padding(0, 1).
|
||||
MarginTop(1)
|
||||
|
||||
HelpBoxStyle = lipgloss.NewStyle().
|
||||
Border(lipgloss.RoundedBorder()).
|
||||
BorderForeground(lipgloss.Color("62")).
|
||||
Padding(1, 2).
|
||||
Align(lipgloss.Left)
|
||||
)
|
||||
Reference in New Issue
Block a user