From fb8e134c6c7093eb4fee84d0d667f2c41cd47f89 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 4 Mar 2026 08:12:16 +0200 Subject: report: avoid struct copies in range loops --- internal/tui/report.go | 6 +++--- internal/worktime/report.go | 6 ++++-- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'internal') diff --git a/internal/tui/report.go b/internal/tui/report.go index a0ced04..205e3e9 100644 --- a/internal/tui/report.go +++ b/internal/tui/report.go @@ -119,7 +119,7 @@ func (m *ReportModel) View(styles Styles) string { return styles.Body.Render("Report\n\nNo report data.") } - week := m.weeks[m.weekIndex] + week := &m.weeks[m.weekIndex] header := fmt.Sprintf( "Report Week %s [%d/%d] verbose:%t", week.WeekLabel, @@ -153,7 +153,7 @@ func (m *ReportModel) View(styles Styles) string { return styles.Body.Render(body) } -func (m *ReportModel) dayRows(week worktime.WeekReport) []string { +func (m *ReportModel) dayRows(week *worktime.WeekReport) []string { rows := make([]string, 0, len(week.Days)) for _, day := range week.Days { row := fmt.Sprintf( @@ -250,7 +250,7 @@ func (m *ReportModel) rowCount() int { if len(m.weeks) == 0 { return 0 } - return len(m.dayRows(m.weeks[m.weekIndex])) + return len(m.dayRows(&m.weeks[m.weekIndex])) } func toHours(seconds int64) float64 { diff --git a/internal/worktime/report.go b/internal/worktime/report.go index cfe3001..3ffc983 100644 --- a/internal/worktime/report.go +++ b/internal/worktime/report.go @@ -168,8 +168,10 @@ func processEntry( func FormatReport(weeks []WeekReport, verbose, color bool) string { var out strings.Builder - for _, week := range weeks { - for _, day := range week.Days { + for weekIdx := range weeks { + week := &weeks[weekIdx] + for dayIdx := range week.Days { + day := &week.Days[dayIdx] out.WriteString(" ") out.WriteString(day.Marker) out.WriteString(" ") -- cgit v1.2.3