package templates import ( "arbeitszeitmessung/helper" "arbeitszeitmessung/models" "time" ) templ PDFReportEmploye(e models.User, workDays []models.WorkDay, 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.Day.Format("02.01.2006") }

for bookingI := 0; bookingI < len(day.Bookings); bookingI+= 2 {

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

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

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

} if (day.Absence != models.Absence{}) {

{ day.Absence.AbwesenheitTyp.Name }

}
{{ work, pause, overtime := day.GetAllWorkTimes(e) }} @ColorDuration(work, noBorder) @ColorDuration(pause, noBorder) @ColorDuration(overtime, noBorder+" border-r-0") if day.Day.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) }

}