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