Skip to content

Commit 0e97e99

Browse files
fix: theme-aware comp screens, picker back nav, readable selected rows (#307)
1 parent 968f103 commit 0e97e99

21 files changed

Lines changed: 125 additions & 87 deletions

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<img src="https://img.shields.io/github/actions/workflow/status/digitalghost-dev/poke-cli/rust_test.yml?style=flat-square&logo=rust&logoColor=D34516&label=Tests&labelColor=EEE&color=D34516" alt="rust-tests-label">
2424
<img src="https://img.shields.io/badge/dynamic/toml?url=https://raw.githubusercontent.com/digitalghost-dev/poke-cli/main/services/Cargo.toml&query=%24.package%5B%27rust-version%27%5D&style=flat-square&logo=rust&logoColor=D34516&label=Rust&labelColor=EEE&color=D34516" alt="rust-version"/>
2525
</div>
26+
2627
`poke-cli` is a hybrid of a classic CLI and a modern TUI tool for viewing VG and TCG data about Pokémon!
2728

2829
View the [documentation](https://docs.poke-cli.com) on the data infrastructure in [data_platform/](https://github.com/digitalghost-dev/poke-cli/tree/main/data_platform) if you're interested.

cmd/berry/berry.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func (m model) View() tea.View {
119119
Width(52).
120120
Height(29).
121121
Border(lipgloss.RoundedBorder()).
122-
BorderForeground(styling.YellowColor).
122+
BorderForeground(styling.ThemeColor).
123123
Padding(1).
124124
Render(selectedBerry)
125125

@@ -158,11 +158,11 @@ func tableGeneration() error {
158158
s := table.DefaultStyles()
159159
s.Header = s.Header.
160160
BorderStyle(lipgloss.NormalBorder()).
161-
BorderForeground(styling.YellowColor).
161+
BorderForeground(styling.ThemeColor).
162162
BorderBottom(true)
163163
s.Selected = s.Selected.
164164
Foreground(lipgloss.Color("#000")).
165-
Background(styling.YellowColor)
165+
Background(styling.ThemeColor)
166166
t.SetStyles(s)
167167

168168
m := model{table: t}
@@ -185,7 +185,7 @@ func berryContainers(name string) string {
185185
boxStyle := lipgloss.NewStyle().
186186
Padding(1, 2).
187187
BorderStyle(lipgloss.ThickBorder()).
188-
BorderForeground(styling.YellowColor).
188+
BorderForeground(styling.ThemeColor).
189189
Width(34)
190190

191191
// Render both without height constraints to measure natural heights.

cmd/berry/berry_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,11 @@ func createTestModel() model {
192192
s := table.DefaultStyles()
193193
s.Header = s.Header.
194194
BorderStyle(lipgloss.NormalBorder()).
195-
BorderForeground(styling.YellowColor).
195+
BorderForeground(styling.ThemeColor).
196196
BorderBottom(true)
197197
s.Selected = s.Selected.
198198
Foreground(lipgloss.Color("#000")).
199-
Background(styling.YellowColor)
199+
Background(styling.ThemeColor)
200200
t.SetStyles(s)
201201

202202
return model{table: t}

cmd/card/cardlist.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,18 @@ type cardDataMsg struct {
4848
}
4949

5050
var (
51-
activeTableSelectedBg color.Color = styling.YellowColor
51+
activeTableSelectedBg color.Color = styling.ThemeColor
5252
inactiveTableSelectedBg color.Color = lipgloss.Color("#808080")
5353
)
5454

5555
func cardTableStyles(selectedBg color.Color) table.Styles {
5656
s := table.DefaultStyles()
5757
s.Header = s.Header.
5858
BorderStyle(lipgloss.NormalBorder()).
59-
BorderForeground(styling.YellowColor).
59+
BorderForeground(styling.ThemeColor).
6060
BorderBottom(true)
6161
s.Selected = s.Selected.
62-
Foreground(lipgloss.Color("#000")).
62+
Foreground(styling.ContrastText(selectedBg)).
6363
Background(selectedBg)
6464
return s
6565
}
@@ -297,7 +297,7 @@ func (m cardsModel) View() tea.View {
297297
Width(42).
298298
Height(29).
299299
Border(lipgloss.RoundedBorder()).
300-
BorderForeground(styling.YellowColor).
300+
BorderForeground(styling.ThemeColor).
301301
Padding(1).
302302
Render(selectedCard)
303303

@@ -327,7 +327,7 @@ type cardData struct {
327327
func CardsList(setID string) (cardsModel, error) {
328328
s := spinner.New()
329329
s.Spinner = spinner.Dot
330-
s.Style = styling.Yellow
330+
s.Style = styling.Theme
331331

332332
return cardsModel{
333333
SetID: setID,

cmd/card/imageviewer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func (m imageModel) View() tea.View {
8383
content = lipgloss.NewStyle().
8484
Padding(2).
8585
BorderStyle(lipgloss.RoundedBorder()).
86-
BorderForeground(styling.YellowColor).
86+
BorderForeground(styling.ThemeColor).
8787
Render(styling.Red.Render(m.Error.Error()))
8888
} else {
8989
content = m.ImageData
@@ -97,7 +97,7 @@ func (m imageModel) View() tea.View {
9797
func ImageRenderer(cardName string, imageURL string) imageModel {
9898
s := spinner.New()
9999
s.Spinner = spinner.Dot
100-
s.Style = styling.Yellow
100+
s.Style = styling.Theme
101101

102102
return imageModel{
103103
CardName: cardName,

cmd/card/setslist.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ type setData struct {
174174
func SetsList(seriesID string) (setsModel, error) {
175175
s := spinner.New()
176176
s.Spinner = spinner.Dot
177-
s.Style = styling.Yellow
177+
s.Style = styling.Theme
178178

179179
return setsModel{
180180
SeriesName: seriesID,

cmd/comp/champions/tab_components.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func renderPokemonDetail(row compInfoRow, width int) string {
6868
teammates := renderStatColumn("Common Teammates", row.CommonTeammates, colWidth)
6969

7070
var b strings.Builder
71-
b.WriteString(styling.Yellow.Render(row.Pokemon))
71+
b.WriteString(styling.Theme.Render(row.Pokemon))
7272
b.WriteString("\n\n")
7373
b.WriteString(lipgloss.JoinHorizontal(lipgloss.Top, moves, " ", items))
7474
b.WriteString("\n\n")
@@ -231,7 +231,7 @@ func renderTeamDetail(team teamRow, width int) string {
231231
var b strings.Builder
232232

233233
title := fmt.Sprintf("%s (%s)", team.Player, team.Record)
234-
b.WriteString(styling.Yellow.Render("Selected Team"))
234+
b.WriteString(styling.Theme.Render("Selected Team"))
235235
b.WriteString("\n")
236236
b.WriteString(styling.StyleBold.Render(title))
237237
b.WriteString("\n")
@@ -392,7 +392,7 @@ func selectedSpeedTier(speedTable table.Model, rows []speedTierRow) speedTierRow
392392

393393
func renderSpeedDetail(row speedTierRow) string {
394394
var b strings.Builder
395-
b.WriteString(styling.Yellow.Render("Selected Pokémon"))
395+
b.WriteString(styling.Theme.Render("Selected Pokémon"))
396396
b.WriteString("\n")
397397

398398
b.WriteString(styling.StyleBold.Render(row.Pokemon))

cmd/comp/shell/dashboard.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"charm.land/bubbles/v2/table"
77
tea "charm.land/bubbletea/v2"
88
"github.com/digitalghost-dev/poke-cli/cmd/utils"
9+
"github.com/digitalghost-dev/poke-cli/styling"
910
)
1011

1112
type dashboardModel struct {
@@ -139,7 +140,7 @@ func (m dashboardModel) renderTab(contentWidth int) string {
139140
}
140141
switch m.activeTab {
141142
case 0:
142-
return m.decoded.Overview(contentWidth, m.styles.HighlightColor)
143+
return m.decoded.Overview(contentWidth, styling.ThemeColor)
143144
case 1:
144145
return m.table.View()
145146
case 2:

cmd/comp/shell/frame.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func (s *Styles) Render(tabs []string, activeTab, width int, renderContent func(
4545

4646
fillWidth := windowWidth - lipgloss.Width(row)
4747
if fillWidth > 0 {
48-
fill := lipgloss.NewStyle().Foreground(s.HighlightColor).
48+
fill := lipgloss.NewStyle().Foreground(styling.ThemeColor).
4949
Render(strings.Repeat("─", fillWidth-1) + "┐")
5050
row = row + fill
5151
}
@@ -65,11 +65,11 @@ func TableStyles() table.Styles {
6565
s := table.DefaultStyles()
6666
s.Header = s.Header.
6767
BorderStyle(lipgloss.NormalBorder()).
68-
BorderForeground(styling.YellowColor).
68+
BorderForeground(styling.ThemeColor).
6969
BorderBottom(true).
7070
Bold(true)
7171
s.Selected = s.Selected.
72-
Foreground(lipgloss.Color("#000")).
73-
Background(styling.YellowColor)
72+
Foreground(styling.ContrastText(styling.ThemeColor)).
73+
Background(styling.ThemeColor)
7474
return s
7575
}

cmd/comp/shell/frame_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ func TestNewStyles(t *testing.T) {
1010
if s == nil {
1111
t.Fatal("expected non-nil styles")
1212
}
13-
if s.HighlightColor == nil {
14-
t.Error("expected highlight color to be set")
15-
}
1613
}
1714

1815
func TestRender_ContainsTabsContentAndMenu(t *testing.T) {

0 commit comments

Comments
 (0)