package templates import ( "arbeitszeitmessung/helper" "arbeitszeitmessung/models" "fmt" "strconv" "time" ) templ Base() { Arbeitszeit } templ TimePage(workDays []models.WorkDay, lastSub time.Time) { @Base() @headerComponent()
@inputForm() for _, day := range workDays { @dayComponent(day, day.Day.Before(lastSub)) if (day.Day.Weekday() == time.Monday) {
} }
@LegendComponent() } templ LoginPage(success bool, errorMsg string) { @Base()

Benutzer Anmelden

if !success {

Login fehlgeschlagen, bitte erneut versuchen!

{ errorMsg }

}
} templ UserPage(status int) { @Base() @headerComponent()

Passwort ändern

switch { case status == 401:

Aktuelles Passwort nicht korrekt!

case status >= 400:

Passwortwechsel fehlgeschlagen, bitte erneut versuchen!

case status == 202:

Passwortänderung erfolgreich

}

Nutzer abmelden

Nutzer von Weboberfläche abmelden.

} templ statusCheckMark(status models.WeekStatus, target models.WeekStatus) { if status >= target {
} else {
} } templ TeamPage(weeks []models.WorkWeek, userWeek models.WorkWeek) { @Base() @headerComponent() {{ progress := (float32(userWeek.Worktime.Hours()) / userWeek.User.ArbeitszeitPerWoche) * 100 }}

Eigene Abrechnung

@weekPicker(userWeek.WeekStart)

{ fmt.Sprintf("%s %s", userWeek.User.Vorname, userWeek.User.Name) }

@statusCheckMark(userWeek.CheckStatus(), models.WeekStatusSent) Gesendet @statusCheckMark(userWeek.CheckStatus(), models.WeekStatusAccepted) Akzeptiert
@timeGaugeComponent(uint8(progress), false, false)

Arbeitszeit: { fmt.Sprintf("%s", helper.FormatDuration(userWeek.Worktime)) }

Überstunden: { fmt.Sprintf("%s", helper.FormatDuration(userWeek.Overtime)) }

for _, day := range userWeek.WorkDays { @weekDayComponent(userWeek.User, day) }
@weekPicker(userWeek.WeekStart)
switch userWeek.CheckStatus() { case models.WeekStatusNone:

an Vorgesetzten senden

case models.WeekStatusSent:

an Vorgesetzten gesendet

case models.WeekStatusAccepted:

vom Vorgesetzten bestätigt

}
if len(weeks) > 0 {

Abrechnung Mitarbeiter

} for _, week := range weeks { @employeComponent(week) }
} templ TeamPresencePage(teamPresence map[bool][]models.User) { @Base() @headerComponent()

Anwesend

for _, user := range teamPresence[true] { @userPresenceComponent(user, true) }

Nicht Anwesend

for _, user := range teamPresence[false] { @userPresenceComponent(user, false) }
} templ LogoutButton() { }