6f15a7f84200d5ba5e4571266f555aed2e6a85c9

Author
TheEdgeOfRage <git@theedgeofrage.com>
Committer
TheEdgeOfRage <git@theedgeofrage.com>
Date

Message

theme UI with gruvbox palette

Diff

 1diff --git a/internal/ui/app.go b/internal/ui/app.go
 2index b3922eaabcb45c81c06766ae67e8e62ff8cf41b7..356e7e32666bd75c31af3069a45af387cb3ba9c3 100644
 3--- a/internal/ui/app.go
 4+++ b/internal/ui/app.go
 5@@ -23,13 +23,13 @@ const tickInterval = 200 * time.Millisecond
 6 const openingAction = "Look around."
 7 
 8 var (
 9-	actionStyle     = lipgloss.NewStyle().Foreground(lipgloss.Color("38"))  // cyan
10-	narrationStyle  = lipgloss.NewStyle()                                   // default
11-	playerSaidStyle = lipgloss.NewStyle().Foreground(lipgloss.Color("42"))  // green
12-	hintStyle       = lipgloss.NewStyle().Foreground(lipgloss.Color("245")) // gray
13-	cursorStyle     = lipgloss.NewStyle().Reverse(true)                     // input cursor
14-	npcRomajiStyle  = lipgloss.NewStyle().Foreground(lipgloss.Color("226")) // yellow
15-	npcEngStyle     = lipgloss.NewStyle().Foreground(lipgloss.Color("208")) // orange
16+	actionStyle     = lipgloss.NewStyle().Foreground(gruvBlue)
17+	narrationStyle  = lipgloss.NewStyle()
18+	playerSaidStyle = lipgloss.NewStyle().Foreground(gruvGreen)
19+	hintStyle       = lipgloss.NewStyle().Foreground(gruvGray)
20+	cursorStyle     = lipgloss.NewStyle().Reverse(true) // input cursor
21+	npcRomajiStyle  = lipgloss.NewStyle().Foreground(gruvYellow)
22+	npcEngStyle     = lipgloss.NewStyle().Foreground(gruvOrange)
23 )
24 
25 type phase int
26diff --git a/internal/ui/colors.go b/internal/ui/colors.go
27new file mode 100644
28index 0000000000000000000000000000000000000000..14c36b574fa619132d19ee179c635d48effa8388
29--- /dev/null
30+++ b/internal/ui/colors.go
31@@ -0,0 +1,14 @@
32+package ui
33+
34+import "github.com/charmbracelet/lipgloss"
35+
36+// Gruvbox (dark) accent palette. Hex values let termenv degrade to whatever
37+// color profile the terminal supports, so these stay exact on truecolor and
38+// fall back to the nearest 256-color swatch elsewhere.
39+const (
40+	gruvBlue   = lipgloss.Color("#458588")
41+	gruvGreen  = lipgloss.Color("#98971a")
42+	gruvYellow = lipgloss.Color("#d79921")
43+	gruvOrange = lipgloss.Color("#d65d0e")
44+	gruvGray   = lipgloss.Color("#a89984")
45+)