Diff
1diff --git a/ui/pages/repo/refsitem.go b/ui/pages/repo/refsitem.go
2index d34f9d13a1189b29587eabd057145149577656fc..32010664baaa6548ebd3bd2b65ac61f0eaa9c486 100644
3--- a/ui/pages/repo/refsitem.go
4+++ b/ui/pages/repo/refsitem.go
5@@ -7,6 +7,7 @@ import (
6 "github.com/charmbracelet/bubbles/key"
7 "github.com/charmbracelet/bubbles/list"
8 tea "github.com/charmbracelet/bubbletea"
9+ "github.com/charmbracelet/lipgloss"
10 "github.com/charmbracelet/soft-serve/git"
11 "github.com/charmbracelet/soft-serve/ui/common"
12 )
13@@ -90,22 +91,35 @@ func (d RefItemDelegate) Render(w io.Writer, m list.Model, index int, listItem l
14 return
15 }
16
17+ var st lipgloss.Style
18+ var selector string
19+
20+ isTag := i.Reference.IsTag()
21+ isActive := index == m.Index()
22+
23+ if isTag && isActive {
24+ st = s.RefItemTagActive
25+ } else if isTag {
26+ st = s.RefItemTagInactive
27+ } else if isActive {
28+ st = s.RefItemActive
29+ } else {
30+ st = s.RefItemInactive
31+ }
32+
33+ if isActive {
34+ selector = s.RefItemSelector.String()
35+ } else {
36+ selector = " "
37+ }
38+
39 ref := i.Short()
40 ref = s.RefItemBranch.Render(ref)
41- if i.Reference.IsTag() {
42- ref = s.RefItemTag.Render(ref)
43- }
44 refMaxWidth := m.Width() -
45 s.RefItemSelector.GetMarginLeft() -
46 s.RefItemSelector.GetWidth() -
47 s.RefItemInactive.GetMarginLeft()
48 ref = common.TruncateString(ref, refMaxWidth)
49- refStyle := s.RefItemInactive
50- selector := s.RefItemSelector.Render(" ")
51- if index == m.Index() {
52- selector = s.RefItemSelector.Render(">")
53- refStyle = s.RefItemActive
54- }
55- ref = refStyle.Render(ref)
56+ ref = st.Render(ref)
57 fmt.Fprint(w, selector, ref)
58 }
59diff --git a/ui/styles/styles.go b/ui/styles/styles.go
60index 5e31984dd9bf1b3f3b65a6c095a3c4fd044b26f5..f5a2ea6b8fbd2b55c8651079f6ac1d7e5ff974a1 100644
61--- a/ui/styles/styles.go
62+++ b/ui/styles/styles.go
63@@ -59,12 +59,13 @@ type Styles struct {
64 LogCommitStatsDel lipgloss.Style
65 LogPaginator lipgloss.Style
66
67- RefItemSelector lipgloss.Style
68- RefItemActive lipgloss.Style
69- RefItemInactive lipgloss.Style
70- RefItemBranch lipgloss.Style
71- RefItemTag lipgloss.Style
72- RefPaginator lipgloss.Style
73+ RefItemSelector lipgloss.Style
74+ RefItemActive lipgloss.Style
75+ RefItemInactive lipgloss.Style
76+ RefItemBranch lipgloss.Style
77+ RefItemTagInactive lipgloss.Style
78+ RefItemTagActive lipgloss.Style
79+ RefPaginator lipgloss.Style
80
81 TreeItemSelector lipgloss.Style
82 TreeItemActive lipgloss.Style
83@@ -247,22 +248,28 @@ func DefaultStyles() *Styles {
84 Margin(0).
85 Align(lipgloss.Center)
86
87- s.RefItemInactive = lipgloss.NewStyle().
88- MarginLeft(1)
89+ s.RefItemInactive = lipgloss.NewStyle()
90
91 s.RefItemSelector = lipgloss.NewStyle().
92- Width(1).
93- Foreground(lipgloss.Color("#B083EA"))
94+ Foreground(lipgloss.Color("#B083EA")).
95+ SetString("> ")
96
97- s.RefItemActive = lipgloss.NewStyle().
98- MarginLeft(1).
99- Bold(true)
100+ s.RefItemActive = s.RefItemActive.Copy().
101+ Foreground(highlightColorDim)
102
103 s.RefItemBranch = lipgloss.NewStyle()
104
105- s.RefItemTag = lipgloss.NewStyle().
106+ s.RefItemTagInactive = lipgloss.NewStyle().
107 Foreground(lipgloss.Color("#A3A322"))
108
109+ s.RefItemTagActive = lipgloss.NewStyle().
110+ Bold(true).
111+ Foreground(highlightColor)
112+
113+ s.RefItemActive = lipgloss.NewStyle().
114+ Bold(true).
115+ Foreground(highlightColor)
116+
117 s.RefPaginator = s.LogPaginator.Copy()
118
119 s.TreeItemSelector = s.TreeItemInactive.Copy().