package views import ( "fmt" "git.32bit.cafe/32bitcafe/guestbook/internal/forms" "git.32bit.cafe/32bitcafe/guestbook/internal/models" "slices" "time" ) templ adminBase(title string, data CommonData) { { title } - webweav.ing
Back to webweav.ing
{ children... }
@commonFooter() } templ adminSidebar() { } templ AdminPanelLandingView(title string, data CommonData) { @adminBase(title, data) {
@adminSidebar()

{ title }

Welcome to the admin panel

} } templ AdminPanelUsersView(title string, data CommonData, users []models.User) { @adminBase(title, data) {
@adminSidebar()
for _, u := range users { {{ url := fmt.Sprintf("/admin/users/%s", shortIdToSlug(u.ShortId)) }} }
Username Joined Email
{ u.Username } { u.Created.Format(time.RFC3339) } { u.Email }
} } templ AdminPanelUserMgmtDetail(csrfToken string, user models.User) {

User Info

Username

{ user.Username }

Email

{ user.Email }

Joined

{ user.Created.Format(time.RFC3339) }

Groups

    for _, g := range user.Groups {
  • { fmt.Sprintf("%s", getGroupName(g)) }
  • }

Actions

{{ getFormUrl := fmt.Sprintf("/admin/users/%s/edit", shortIdToSlug(user.ShortId)) }} {{ putBanUrl := fmt.Sprintf("/admin/users/%s/ban", shortIdToSlug(user.ShortId)) }} {{ putUnbanUrl := fmt.Sprintf("/admin/users/%s/unban", shortIdToSlug(user.ShortId)) }} {{ deleteUrl := fmt.Sprintf("/admin/users/%s", shortIdToSlug(user.ShortId)) }} if user.ID != 1 { if user.Banned.IsZero() { } else { } }
} templ AdminPanelUserMgmtView(title string, data CommonData, user models.User) { @adminBase(title, data) {
@adminSidebar() @AdminPanelUserMgmtDetail(data.CSRFToken, user)
} } templ AdminPanelUserMgmtEditForm(csrfToken string, form forms.AdminUserMgmtForm, user models.User, groups []models.UserGroupId) {

User Info

Username
Email
Joined

{ user.Created.Format(time.RFC3339) }

Groups

{{ isAdmin := slices.Contains(user.Groups, models.AdminGroup) }}

Actions

{{ putFormUrl := fmt.Sprintf("/admin/users/%s/edit", shortIdToSlug(user.ShortId)) }} {{ getDetailUrl := fmt.Sprintf("/admin/users/%s/detail", shortIdToSlug(user.ShortId)) }}
}