package templates import ( "arbeitszeitmessung/helper" "arbeitszeitmessung/models" "time" ) templ PDFReportEmploye(e models.User, workDays []models.IWorkDay, tsStart time.Time, tsEnd time.Time) { {{ _, kw := tsStart.ISOWeek() noBorder := "" }} @Base()

Kim Mustermensch

Zeitraum: { tsStart.Format("02.01.2006") } - { tsEnd.Format("02.01.2006") }

Arbeitszeit:

Überstunden:

{ kw }

Kommen

Gehen

Arbeitsart

Stunden

Pause

Überstunden

for index, day := range workDays { {{ if index == len(workDays)-1 { noBorder = "border-b-0" } }}

{ day.Date().Format("02.01.2006") }

if day.IsWorkDay() { {{ workDay, _ := day.(*models.WorkDay) }} for bookingI := 0; bookingI < len(workDay.Bookings); bookingI+= 2 {

{ workDay.Bookings[bookingI].Timestamp.Format("15:04") }

{ workDay.Bookings[bookingI+1].Timestamp.Format("15:04") }

{ workDay.Bookings[bookingI].BookingType.Name }

} if workDay.IsKurzArbeit() {

Kurzarbeit

} } else { {{ absentDay, _ := day.(*models.Absence) }}

{ absentDay.AbwesenheitTyp.Name }

}
{{ work, pause, overtime := day.GetAllWorkTimesVirtual(e) }} @ColorDuration(work, noBorder) @ColorDuration(pause, noBorder) @ColorDuration(overtime, noBorder+" border-r-0") if day.Date().Weekday() == time.Friday {

Wochenende

} }
} templ ColorDuration(d time.Duration, classes string) { {{ color := "" if d.Abs() < time.Minute { color = "text-neutral-300" } }}

{ helper.FormatDurationFill(d, true) }

}