package templates import ( "arbeitszeitmessung/models" "fmt" "strconv" "time" ) templ Base() { Arbeitszeit } templ TimePage(workDays []models.WorkDay) { @Base() @headerComponent()
@inputForm() for _, day := range workDays { @dayComponent(day) }
@LegendComponent() } templ LoginPage(failed bool) { @Base()

Benutzer Anmelden

if failed {

Login fehlgeschlagen, bitte erneut versuchen!

}
} 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 TeamPage(weeks []models.WorkWeek, userWeek models.WorkWeek) { {{ year, kw := userWeek.WeekStart.ISOWeek() }} @Base() @headerComponent()
{ fmt.Sprintf("%s %s", userWeek.User.Vorname, userWeek.User.Name) }
for _, day := range userWeek.WorkDays { @weekDayComponent(userWeek.User, day) }

KW { fmt.Sprintf("%02d, %d", kw, year) }

switch userWeek.CheckStatus() { case models.WeekStatusNone:

an Vorgesetzten senden

if time.Since(userWeek.WeekStart) < 24*7*time.Hour {

Die Woche kann erst am nächsten Montag abgesendet werden!

} case models.WeekStatusSent:

an Vorgesetzten gesendet

akzeptiert:

case models.WeekStatusAccepted:

vom Vorgesetzten bestätigt

akzeptiert:

}
for _, week := range weeks { @employeComponent(week) }
} templ NavPage() { @Base()
Zeitverwaltung Mitarbeiter Nutzer
} 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() { }