package views
import "fmt"
import "git.32bit.cafe/32bitcafe/guestbook/internal/models"
import "git.32bit.cafe/32bitcafe/guestbook/internal/forms"
import "time"
templ GuestbookDashboardCommentsView(title string, data CommonData, website models.Website, guestbook models.Guestbook, comments []models.GuestbookComment) {
	@base(title, data) {
		
			@wSidebar(website)
			
				Comments on { website.Name }
				
				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) }}
	
}
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 }
						{ data.Flash }
						
					
					
				
			
		
	}
}
templ settingRadio(selected bool, name, id, value string) {
	
}
templ GuestbookSettingsView(data CommonData, website models.Website) {
	{{ putUrl := fmt.Sprintf("/websites/%s/dashboard/guestbook/settings", shortIdToSlug(website.ShortId)) }}
	{{ gb := website.Guestbook }}
	@base("Guestbook Settings", data) {
		
	}
}
templ EmbeddableGuestbookCommentForm(data CommonData, w models.Website, f forms.CommentCreateForm) {
	{{ postUrl := fmt.Sprintf("/websites/%s/guestbook/comments/create?headless=true", shortIdToSlug(w.ShortId)) }}
	
		
			
		
		
			{ data.Flash }
			
		
	
}
templ AllGuestbooksView(data CommonData, websites []models.Website) {
	@base("All Guestbooks", data) {
		
			All Guestbooks
			
				This page exists only for testing the service.
			
			
				for _, w := range websites {
					- 
						{{ gbUrl := fmt.Sprintf("/websites/%s/guestbook", shortIdToSlug(w.ShortId)) }}
						{ w.Name }
					
 
				}
			
		 
	}
}
templ GuestbookCommentCreateRemoteErrorView(url, err string) {
	
		
			
		
		
			
				An error occurred while posting comment. { err }. Redirecting.
			
			
				Redirect
			
		
	
}
templ GuestbookCommentCreateRemoteSuccessView(url string) {
	
		
			
		
		
			
				Comment successfully posted. Redirecting.
			
			
				Redirect
			
		
	
}
No comments yet!
} for _, c := range comments {if c.AuthorSite != "" { { c.AuthorName } } else { { c.AuthorName } }
{ c.CommentText }