69a9d87dff1ca0d75fa14aa4588fc18c76d0ac79

Author
Christian Rocha <christian@rocha.is>
Committer
Ayman Bagabas <ayman.bagabas@gmail.com>
Date

Message

feat: apply highlight color to branchdes and tags

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().