Skip to content

Commit eb2624d

Browse files
committed
feat: changes summary
1 parent 83d59e0 commit eb2624d

File tree

3 files changed

+46
-3
lines changed

3 files changed

+46
-3
lines changed

ui/components/pr/pr.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ func (pr *PullRequest) renderCiStatus() string {
134134
return ciCellStyle.Render(constants.FailureIcon)
135135
}
136136

137-
func (pr *PullRequest) renderLines(isSelected bool) string {
137+
func (pr *PullRequest) RenderLines(isSelected bool) string {
138138
if pr.Data == nil {
139139
return "-"
140140
}
@@ -332,7 +332,7 @@ func (pr *PullRequest) ToTableRow(isSelected bool) table.Row {
332332
pr.renderBaseName(),
333333
pr.renderReviewStatus(),
334334
pr.renderCiStatus(),
335-
pr.renderLines(isSelected),
335+
pr.RenderLines(isSelected),
336336
pr.renderUpdateAt(),
337337
pr.renderCreatedAt(),
338338
}
@@ -347,7 +347,7 @@ func (pr *PullRequest) ToTableRow(isSelected bool) table.Row {
347347
pr.renderBaseName(),
348348
pr.renderReviewStatus(),
349349
pr.renderCiStatus(),
350-
pr.renderLines(isSelected),
350+
pr.RenderLines(isSelected),
351351
pr.renderUpdateAt(),
352352
pr.renderCreatedAt(),
353353
}

ui/components/prsidebar/files.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,47 @@ import (
66
"github.com/charmbracelet/lipgloss"
77

88
"github.com/dlvhdr/gh-dash/v4/data"
9+
"github.com/dlvhdr/gh-dash/v4/utils"
910
)
1011

12+
func (m *Model) renderChangesOverview() string {
13+
changes := lipgloss.NewStyle().
14+
Border(lipgloss.NormalBorder(), false, false, true, false).
15+
BorderForeground(m.ctx.Theme.FaintBorder).
16+
Width(m.getIndentedContentWidth()).
17+
Padding(1)
18+
19+
commits := lipgloss.NewStyle().
20+
Width(m.getIndentedContentWidth()).
21+
Padding(1)
22+
23+
box := lipgloss.NewStyle().
24+
Border(lipgloss.RoundedBorder(), true).
25+
BorderForeground(m.ctx.Theme.FaintBorder).
26+
Width(m.getIndentedContentWidth())
27+
28+
time := lipgloss.NewStyle().Render(utils.TimeElapsed(m.pr.Data.UpdatedAt))
29+
return box.Render(
30+
lipgloss.JoinVertical(lipgloss.Left,
31+
changes.Render(
32+
lipgloss.JoinHorizontal(lipgloss.Top,
33+
lipgloss.NewStyle().Foreground(m.ctx.Theme.FaintText).Render(" "),
34+
fmt.Sprintf("%d files changed", m.pr.Data.Files.TotalCount),
35+
" ",
36+
m.pr.RenderLines(false)),
37+
),
38+
commits.Render(
39+
lipgloss.JoinHorizontal(lipgloss.Top,
40+
lipgloss.NewStyle().Foreground(m.ctx.Theme.FaintText).Render(" "),
41+
fmt.Sprintf("%d commits", m.pr.Data.Files.TotalCount),
42+
" ",
43+
lipgloss.NewStyle().Foreground(m.ctx.Theme.FaintText).Render(fmt.Sprintf("%s ago", time)),
44+
),
45+
),
46+
),
47+
)
48+
}
49+
1150
func (m *Model) renderChangedFiles() string {
1251
files := make([]string, 0)
1352
for _, file := range m.pr.Data.Files.Nodes {

ui/components/prsidebar/prsidebar.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,10 @@ func (m Model) View() string {
224224

225225
body.WriteString(m.renderSummary())
226226
body.WriteString("\n\n")
227+
body.WriteString(m.ctx.Styles.Common.MainTextStyle.MarginBottom(1).Underline(true).Render(" Changes"))
228+
body.WriteString("\n")
229+
body.WriteString(m.renderChangesOverview())
230+
body.WriteString("\n\n")
227231
body.WriteString(m.ctx.Styles.Common.MainTextStyle.MarginBottom(1).Underline(true).Render(" Checks"))
228232
body.WriteString("\n")
229233
body.WriteString(m.renderChecksOverview())

0 commit comments

Comments
 (0)