package views import "fmt" import "git.32bit.cafe/32bitcafe/guestbook/internal/models" import "git.32bit.cafe/32bitcafe/guestbook/internal/forms" templ GuestbookDashboardCommentsView(title string, data CommonData, website models.Website, guestbook models.Guestbook, comments []models.GuestbookComment) { @base(title, data) {
@wSidebar(website)

Comments on { website.SiteUrl }


if len(comments) == 0 {

No comments yet!

} for _, c := range comments { @GuestbookDashboardCommentView(data, website, c) }
} } templ GuestbookDashboardCommentView(data CommonData, w models.Website, c models.GuestbookComment) { {{ commentUrl := fmt.Sprintf("%s/dashboard/guestbook/comments/%s", wUrl(w), shortIdToSlug(c.ShortId)) }} {{ hxHeaders := fmt.Sprintf("{\"X-CSRF-Token\": \"%s\"}", data.CSRFToken) }}
if c.Deleted.IsZero() { }
{ c.AuthorName } if len(c.AuthorEmail) > 0 { {{ email := "mailto:" + c.AuthorEmail}} | { c.AuthorEmail } } if len(c.AuthorSite) > 0 { | { c.AuthorSite } }

{ c.Created.Format("01-02-2006 03:04PM") }

{ c.CommentText }


} templ commentForm(form forms.CommentCreateForm) {
{{ error, exists := form.FieldErrors["authorName"] }} if exists { }
{{ error, exists = form.FieldErrors["authorEmail"] }} if exists { }
{{ error, exists = form.FieldErrors["authorSite"] }} if exists { }
{{ error, exists = form.FieldErrors["content"] }} if exists { }
} templ GuestbookView(title string, data CommonData, website models.Website, guestbook models.Guestbook, comments []models.GuestbookComment, form forms.CommentCreateForm) { {{ postUrl := fmt.Sprintf("/websites/%s/guestbook/comments/create", shortIdToSlug(website.ShortId)) }} if data.IsHtmx { @commentForm(form) } else { { title }

Guestbook for { website.Name }

@commentForm(form)
if len(comments) == 0 {

No comments yet!

} for _, c := range comments {

{ c.AuthorName }

{ c.Created.Format("01-02-2006 03:04PM") }

{ c.CommentText }

}
} } templ CreateGuestbookComment(title string, data CommonData, website models.Website, guestbook models.Guestbook, form forms.CommentCreateForm) { {{ postUrl := fmt.Sprintf("/websites/%s/guestbook/comments/create", shortIdToSlug(website.ShortId)) }} if data.IsHtmx {
@commentForm(form)
} else { @base(title, data) {
@commentForm(form)
} } } templ AllGuestbooksView(data CommonData, websites []models.Website) { @base("All Guestbooks", data) {

All Guestbooks

This page exists only for testing the service.

} }