package templates import ( "arbeitszeitmessung/models" "net/url" "time" "fmt" "strconv" ) 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() }}
@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")}

Arbeitszeit:

if (workDay.RequiresAction()) {

Bitte anpassen

}else {

{work}

}

{pause}

@lineComponent()
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 bookingComponent(booking models.Booking) {

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

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