a4eeaf58ff4029643a1b8dfbecc59abd161c0eb1

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

Message

chore: organize tree style names

Diff

  1diff --git a/ui/pages/repo/filesitem.go b/ui/pages/repo/filesitem.go
  2index 95f9d5a565b182d20e67e7d24e848654d5c0ebca..1934b440ad5ab1bea0869403dfbdcaf226b3d87f 100644
  3--- a/ui/pages/repo/filesitem.go
  4+++ b/ui/pages/repo/filesitem.go
  5@@ -96,12 +96,13 @@ func (d FileItemDelegate) Update(msg tea.Msg, m *list.Model) tea.Cmd {
  6 
  7 // Render implements list.ItemDelegate.
  8 func (d FileItemDelegate) Render(w io.Writer, m list.Model, index int, listItem list.Item) {
  9-	s := d.common.Styles.Tree
 10 	i, ok := listItem.(FileItem)
 11 	if !ok {
 12 		return
 13 	}
 14 
 15+	s := d.common.Styles.Tree
 16+
 17 	name := i.Title()
 18 	size := humanize.Bytes(uint64(i.entry.Size()))
 19 	size = strings.ReplaceAll(size, " ", "")
 20@@ -109,32 +110,32 @@ func (d FileItemDelegate) Render(w io.Writer, m list.Model, index int, listItem
 21 	if i.entry.IsTree() {
 22 		size = strings.Repeat(" ", sizeLen)
 23 		if index == m.Index() {
 24-			name = s.FileDirActive.Render(name)
 25+			name = s.Active.FileDir.Render(name)
 26 		} else {
 27-			name = s.FileDirInactive.Render(name)
 28+			name = s.Normal.FileDir.Render(name)
 29 		}
 30 	}
 31 	var nameStyle, sizeStyle, modeStyle lipgloss.Style
 32 	mode := i.Mode()
 33 	if index == m.Index() {
 34-		nameStyle = s.ItemActive
 35-		sizeStyle = s.FileSizeActive
 36-		modeStyle = s.FileModeActive
 37-		fmt.Fprint(w, s.ItemSelector.Render(">"))
 38+		nameStyle = s.Active.FileName
 39+		sizeStyle = s.Active.FileSize
 40+		modeStyle = s.Active.FileMode
 41+		fmt.Fprint(w, s.Selector.Render(">"))
 42 	} else {
 43-		nameStyle = s.ItemInactive
 44-		sizeStyle = s.FileSizeInactive
 45-		modeStyle = s.FileModeInactive
 46-		fmt.Fprint(w, s.ItemSelector.Render(" "))
 47+		nameStyle = s.Normal.FileName
 48+		sizeStyle = s.Normal.FileSize
 49+		modeStyle = s.Normal.FileMode
 50+		fmt.Fprint(w, s.Selector.Render(" "))
 51 	}
 52 	sizeStyle = sizeStyle.Copy().
 53 		Width(8).
 54 		Align(lipgloss.Right).
 55 		MarginLeft(1)
 56-	leftMargin := s.ItemSelector.GetMarginLeft() +
 57-		s.ItemSelector.GetWidth() +
 58-		s.FileModeInactive.GetMarginLeft() +
 59-		s.FileModeInactive.GetWidth() +
 60+	leftMargin := s.Selector.GetMarginLeft() +
 61+		s.Selector.GetWidth() +
 62+		s.Normal.FileMode.GetMarginLeft() +
 63+		s.Normal.FileMode.GetWidth() +
 64 		nameStyle.GetMarginLeft() +
 65 		sizeStyle.GetHorizontalFrameSize()
 66 	name = common.TruncateString(name, m.Width()-leftMargin)
 67@@ -142,8 +143,8 @@ func (d FileItemDelegate) Render(w io.Writer, m list.Model, index int, listItem
 68 	size = sizeStyle.Render(size)
 69 	modeStr := modeStyle.Render(mode.String())
 70 	truncate := lipgloss.NewStyle().MaxWidth(m.Width() -
 71-		s.ItemSelector.GetHorizontalFrameSize() -
 72-		s.ItemSelector.GetWidth())
 73+		s.Selector.GetHorizontalFrameSize() -
 74+		s.Selector.GetWidth())
 75 	fmt.Fprint(w,
 76 		truncate.Render(fmt.Sprintf("%s%s%s",
 77 			modeStr,
 78diff --git a/ui/styles/styles.go b/ui/styles/styles.go
 79index 2243a13e83188a03317e700f7c6a875f3613e349..f14ec339e88b6512ac9b5a3ce35a8b0ca156a035 100644
 80--- a/ui/styles/styles.go
 81+++ b/ui/styles/styles.go
 82@@ -85,18 +85,22 @@ type Styles struct {
 83 	}
 84 
 85 	Tree struct {
 86-		ItemSelector     lipgloss.Style
 87-		ItemActive       lipgloss.Style
 88-		ItemInactive     lipgloss.Style
 89-		FileDirInactive  lipgloss.Style
 90-		FileDirActive    lipgloss.Style
 91-		FileModeInactive lipgloss.Style
 92-		FileModeActive   lipgloss.Style
 93-		FileSizeInactive lipgloss.Style
 94-		FileSizeActive   lipgloss.Style
 95-		FileContent      lipgloss.Style
 96-		Paginator        lipgloss.Style
 97-		NoItems          lipgloss.Style
 98+		Normal struct {
 99+			FileName lipgloss.Style
100+			FileDir  lipgloss.Style
101+			FileMode lipgloss.Style
102+			FileSize lipgloss.Style
103+		}
104+		Active struct {
105+			FileName lipgloss.Style
106+			FileDir  lipgloss.Style
107+			FileMode lipgloss.Style
108+			FileSize lipgloss.Style
109+		}
110+		Selector    lipgloss.Style
111+		FileContent lipgloss.Style
112+		Paginator   lipgloss.Style
113+		NoItems     lipgloss.Style
114 	}
115 
116 	Spinner lipgloss.Style
117@@ -312,34 +316,34 @@ func DefaultStyles() *Styles {
118 
119 	s.Ref.Paginator = s.Log.Paginator.Copy()
120 
121-	s.Tree.ItemSelector = s.Tree.ItemInactive.Copy().
122+	s.Tree.Selector = s.Tree.Normal.FileName.Copy().
123 		Width(1).
124 		Foreground(selectorColor)
125 
126-	s.Tree.ItemInactive = lipgloss.NewStyle().
127+	s.Tree.Normal.FileName = lipgloss.NewStyle().
128 		MarginLeft(1)
129 
130-	s.Tree.ItemActive = s.Tree.ItemInactive.Copy().
131+	s.Tree.Active.FileName = s.Tree.Normal.FileName.Copy().
132 		Bold(true).
133 		Foreground(highlightColor)
134 
135-	s.Tree.FileDirInactive = lipgloss.NewStyle().
136+	s.Tree.Normal.FileDir = lipgloss.NewStyle().
137 		Foreground(lipgloss.Color("39"))
138 
139-	s.Tree.FileDirActive = lipgloss.NewStyle().
140+	s.Tree.Active.FileDir = lipgloss.NewStyle().
141 		Foreground(highlightColor)
142 
143-	s.Tree.FileModeInactive = s.Tree.ItemInactive.Copy().
144+	s.Tree.Normal.FileMode = s.Tree.Active.FileName.Copy().
145 		Width(10).
146 		Foreground(lipgloss.Color("243"))
147 
148-	s.Tree.FileModeActive = s.Tree.FileModeInactive.Copy().
149+	s.Tree.Active.FileMode = s.Tree.Normal.FileMode.Copy().
150 		Foreground(highlightColorDim)
151 
152-	s.Tree.FileSizeInactive = s.Tree.ItemInactive.Copy().
153+	s.Tree.Normal.FileSize = s.Tree.Normal.FileName.Copy().
154 		Foreground(lipgloss.Color("243"))
155 
156-	s.Tree.FileSizeActive = s.Tree.ItemInactive.Copy().
157+	s.Tree.Active.FileSize = s.Tree.Normal.FileName.Copy().
158 		Foreground(highlightColorDim)
159 
160 	s.Tree.FileContent = lipgloss.NewStyle()