summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-04 08:12:16 +0200
committerPaul Buetow <paul@buetow.org>2026-03-04 08:12:16 +0200
commitfb8e134c6c7093eb4fee84d0d667f2c41cd47f89 (patch)
treebbcf8be0bf701371ee34ce2a5ea2531c8a454cf4
parent691ce337e19e58eef288bbff0a625263ec90719e (diff)
report: avoid struct copies in range loops
-rw-r--r--internal/tui/report.go6
-rw-r--r--internal/worktime/report.go6
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(" ")