diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-04 08:12:16 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-04 08:12:16 +0200 |
| commit | fb8e134c6c7093eb4fee84d0d667f2c41cd47f89 (patch) | |
| tree | bbcf8be0bf701371ee34ce2a5ea2531c8a454cf4 | |
| parent | 691ce337e19e58eef288bbff0a625263ec90719e (diff) | |
report: avoid struct copies in range loops
| -rw-r--r-- | internal/tui/report.go | 6 | ||||
| -rw-r--r-- | internal/worktime/report.go | 6 |
2 files changed, 7 insertions, 5 deletions
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(" ") |
