package templates import ( "arbeitszeitmessung/models" "fmt" "net/url" "strconv" "time" ) templ inputForm() { {{ urlParams := ctx.Value("urlParams").(url.Values) user := ctx.Value("user").(models.User) }}

{ user.Vorname + " " + user.Name }

Überstunden

4h 32min

@lineComponent()
} templ dayComponent(workDay models.WorkDay) { {{ work, pause := workDay.GetWorkTimeString() justify := "" if len(workDay.Bookings) <= 1 { justify = "justify-content: center" } }}
@timeGaugeComponent(workDay.GetWorkDayProgress(ctx.Value("user").(models.User)), workDay.Day.Equal(time.Now().Truncate(24*time.Hour)), workDay.RequiresAction())

{ workDay.Day.Format("02.01.2006") }

if work!="" {

Arbeitszeit:

if (workDay.RequiresAction()) {

Bitte anpassen

} else {

{ work }

}

{ pause }

}
@lineComponent()
if len(workDay.Bookings) <= 1 && workDay.Bookings[len(workDay.Bookings)-1].CounterId == 0 { @noBookingComponent() } else { for _, booking := range workDay.Bookings { @bookingComponent(booking) } }
@changeButtonComponent("time-" + workDay.Day.Format("2006-01-02"))
} templ changeButtonComponent(id string) { } templ timeGaugeComponent(progress uint8, today bool, warning bool) { {{ var bgColor string switch { case (warning): bgColor = "bg-red-600" break case (progress > 0 && progress < 90): bgColor = "bg-orange-500" break case (90 <= progress && progress <= 110): bgColor = "bg-accent" break case (progress > 110): bgColor = "bg-purple-600" break default: bgColor = "bg-neutral-400" break } }} if today {
} else {
} } templ lineComponent() {
} templ noBookingComponent() {
//

Keine Buchung gefunden. Bitte Grund der Abwesenheit eingeben!

} templ bookingComponent(booking models.Booking) {

{ booking.Timestamp.Format("15:04") } { booking.GetBookingType() }

} templ LegendComponent() {
Fehler
Arbeitszeit unter regulär
Arbeitszeit vollständig
Überstunden
Keine Buchungen
}