scaffolding for guestbook settings ui
This commit is contained in:
		
							parent
							
								
									019b31aa9f
								
							
						
					
					
						commit
						c3f08fb745
					
				@ -32,6 +32,20 @@ func (app *application) getGuestbook(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	views.GuestbookView("Guestbook", data, website, website.Guestbook, comments, forms.CommentCreateForm{}).Render(r.Context(), w)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (app *application) getGuestbookSettings(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	slug := r.PathValue("id")
 | 
			
		||||
	website, err := app.websites.Get(slugToShortId(slug))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		if errors.Is(err, models.ErrNoRecord) {
 | 
			
		||||
			http.NotFound(w, r)
 | 
			
		||||
		} else {
 | 
			
		||||
			app.serverError(w, r, err)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	data := app.newCommonData(r)
 | 
			
		||||
	views.GuestbookSettingsView(data, website).Render(r.Context(), w)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (app *application) getGuestbookComments(w http.ResponseWriter, r *http.Request) {
 | 
			
		||||
	slug := r.PathValue("id")
 | 
			
		||||
	website, err := app.websites.Get(slugToShortId(slug))
 | 
			
		||||
 | 
			
		||||
@ -46,7 +46,10 @@ func (app *application) postWebsiteCreate(w http.ResponseWriter, r *http.Request
 | 
			
		||||
	}
 | 
			
		||||
	// TODO: how to handle website creation success but guestbook creation failure?
 | 
			
		||||
	guestbookShortID := app.createShortId()
 | 
			
		||||
	_, err = app.guestbooks.Insert(guestbookShortID, userId, websiteId)
 | 
			
		||||
	guestbookSettings := models.GuestbookSettings{
 | 
			
		||||
		IsCommentingEnabled: true,
 | 
			
		||||
	}
 | 
			
		||||
	_, err = app.guestbooks.Insert(guestbookShortID, userId, websiteId, guestbookSettings)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		app.serverError(w, r, err)
 | 
			
		||||
		return
 | 
			
		||||
 | 
			
		||||
@ -41,7 +41,7 @@ func (app *application) routes() http.Handler {
 | 
			
		||||
	mux.Handle("GET /websites/{id}/dashboard/guestbook/comments/queue", protected.ThenFunc(app.getCommentQueue))
 | 
			
		||||
	mux.Handle("DELETE /websites/{id}/dashboard/guestbook/comments/{commentId}", protected.ThenFunc(app.deleteGuestbookComment))
 | 
			
		||||
	mux.Handle("PUT /websites/{id}/dashboard/guestbook/comments/{commentId}", protected.ThenFunc(app.putHideGuestbookComment))
 | 
			
		||||
	mux.Handle("GET /websites/{id}/dashboard/guestbook/blocklist", protected.ThenFunc(app.getComingSoon))
 | 
			
		||||
	mux.Handle("GET /websites/{id}/dashboard/guestbook/settings", protected.ThenFunc(app.getGuestbookSettings))
 | 
			
		||||
	mux.Handle("GET /websites/{id}/dashboard/guestbook/comments/trash", protected.ThenFunc(app.getCommentTrash))
 | 
			
		||||
	mux.Handle("GET /websites/{id}/dashboard/guestbook/themes", protected.ThenFunc(app.getComingSoon))
 | 
			
		||||
	mux.Handle("GET /websites/{id}/dashboard/guestbook/customize", protected.ThenFunc(app.getComingSoon))
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,7 @@ templ GuestbookDashboardCommentsView(title string, data CommonData, website mode
 | 
			
		||||
			@wSidebar(website)
 | 
			
		||||
			<div>
 | 
			
		||||
				<h1>Comments on { website.SiteUrl }</h1>
 | 
			
		||||
                <hr>
 | 
			
		||||
				<hr/>
 | 
			
		||||
				if len(comments) == 0 {
 | 
			
		||||
					<p>No comments yet!</p>
 | 
			
		||||
				}
 | 
			
		||||
@ -41,11 +41,11 @@ templ GuestbookDashboardCommentView(data CommonData, w models.Website, c models.
 | 
			
		||||
		<div>
 | 
			
		||||
			<strong>{ c.AuthorName }</strong>
 | 
			
		||||
			if len(c.AuthorEmail) > 0 {
 | 
			
		||||
                {{ email := "mailto:" + c.AuthorEmail}}
 | 
			
		||||
				{{ email := "mailto:" + c.AuthorEmail }}
 | 
			
		||||
				| <a href={ templ.URL(email) } target="_blank">{ c.AuthorEmail }</a>
 | 
			
		||||
			}
 | 
			
		||||
			if len(c.AuthorSite) > 0 {
 | 
			
		||||
                | <a href={ templ.URL(externalUrl(c.AuthorSite))} target="_blank">{ c.AuthorSite }</a>
 | 
			
		||||
				| <a href={ templ.URL(externalUrl(c.AuthorSite)) } target="_blank">{ c.AuthorSite }</a>
 | 
			
		||||
			}
 | 
			
		||||
			<p>
 | 
			
		||||
				{ c.Created.In(data.CurrentUser.Settings.LocalTimezone).Format("01-02-2006 03:04PM") }
 | 
			
		||||
@ -54,7 +54,7 @@ templ GuestbookDashboardCommentView(data CommonData, w models.Website, c models.
 | 
			
		||||
		<p>
 | 
			
		||||
			{ c.CommentText }
 | 
			
		||||
		</p>
 | 
			
		||||
        <hr>
 | 
			
		||||
		<hr/>
 | 
			
		||||
	</div>
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -65,7 +65,7 @@ templ commentForm(form forms.CommentCreateForm) {
 | 
			
		||||
		if exists {
 | 
			
		||||
			<label class="error">{ error }</label>
 | 
			
		||||
		}
 | 
			
		||||
        <input type="text" name="authorname" id="authorname">
 | 
			
		||||
		<input type="text" name="authorname" id="authorname"/>
 | 
			
		||||
	</div>
 | 
			
		||||
	<div>
 | 
			
		||||
		<label for="authoremail">Email: </label>
 | 
			
		||||
@ -73,7 +73,7 @@ templ commentForm(form forms.CommentCreateForm) {
 | 
			
		||||
		if exists {
 | 
			
		||||
			<label class="error">{ error }</label>
 | 
			
		||||
		}
 | 
			
		||||
        <input type="text" name="authoremail" id="authoremail">
 | 
			
		||||
		<input type="text" name="authoremail" id="authoremail"/>
 | 
			
		||||
	</div>
 | 
			
		||||
	<div>
 | 
			
		||||
		<label for="authorsite">Site Url: </label>
 | 
			
		||||
@ -81,7 +81,7 @@ templ commentForm(form forms.CommentCreateForm) {
 | 
			
		||||
		if exists {
 | 
			
		||||
			<label class="error">{ error }</label>
 | 
			
		||||
		}
 | 
			
		||||
        <input type="text" name="authorsite" id="authorsite">
 | 
			
		||||
		<input type="text" name="authorsite" id="authorsite"/>
 | 
			
		||||
	</div>
 | 
			
		||||
	<div>
 | 
			
		||||
		<label for="content">Comment: </label>
 | 
			
		||||
@ -92,7 +92,7 @@ templ commentForm(form forms.CommentCreateForm) {
 | 
			
		||||
		<textarea name="content" id="content"></textarea>
 | 
			
		||||
	</div>
 | 
			
		||||
	<div>
 | 
			
		||||
        <input type="submit" value="Submit">
 | 
			
		||||
		<input type="submit" value="Submit"/>
 | 
			
		||||
	</div>
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -104,14 +104,14 @@ templ GuestbookView(title string, data CommonData, website models.Website, guest
 | 
			
		||||
		<html>
 | 
			
		||||
			<head>
 | 
			
		||||
				<title>{ title }</title>
 | 
			
		||||
            <link href="/static/css/classless.min.css" rel="stylesheet">
 | 
			
		||||
				<link href="/static/css/classless.min.css" rel="stylesheet"/>
 | 
			
		||||
			</head>
 | 
			
		||||
			<body>
 | 
			
		||||
				<main>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h1>Guestbook for { website.Name }</h1>
 | 
			
		||||
						<form action={ templ.URL(postUrl) } method="post">
 | 
			
		||||
                            <input type="hidden" name="csrf_token" value={data.CSRFToken}>
 | 
			
		||||
							<input type="hidden" name="csrf_token" value={ data.CSRFToken }/>
 | 
			
		||||
							@commentForm(form)
 | 
			
		||||
						</form>
 | 
			
		||||
					</div>
 | 
			
		||||
@ -133,9 +133,9 @@ templ GuestbookView(title string, data CommonData, website models.Website, guest
 | 
			
		||||
			</body>
 | 
			
		||||
		</html>
 | 
			
		||||
	}
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    templ CreateGuestbookComment(title string, data CommonData, website models.Website, guestbook models.Guestbook, form forms.CommentCreateForm) {
 | 
			
		||||
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 {
 | 
			
		||||
		<form hx-post={ postUrl } hx-target="closest div">
 | 
			
		||||
@ -150,6 +150,58 @@ templ GuestbookView(title string, data CommonData, website models.Website, guest
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
templ GuestbookSettingsView(data CommonData, website models.Website) {
 | 
			
		||||
	{{ putUrl := fmt.Sprintf("/websites/%s/dashboard/guestbook/settings", shortIdToSlug(website.ShortId)) }}
 | 
			
		||||
	@base("Guestbook Settings", data) {
 | 
			
		||||
		<div id="dashboard">
 | 
			
		||||
			@wSidebar(website)
 | 
			
		||||
			<div>
 | 
			
		||||
				<h1>Guestbook Settings</h1>
 | 
			
		||||
				<form hx-put={ putUrl }>
 | 
			
		||||
					<input type="hidden" name="csrf_token" value={ data.CSRFToken }/>
 | 
			
		||||
					<div>
 | 
			
		||||
						<label>Guestbook Visibility</label>
 | 
			
		||||
						<label for="gb_visible_true">
 | 
			
		||||
							<input type="radio" name="gb_visible" id="gb_visible_true"/>
 | 
			
		||||
							Public
 | 
			
		||||
						</label>
 | 
			
		||||
						<label for="gb_visible_false">
 | 
			
		||||
							<input type="radio" name="gb_visible" id="gb_visible_false"/>
 | 
			
		||||
							Private
 | 
			
		||||
						</label>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<label>Guestbook Commenting</label>
 | 
			
		||||
						<select name="gb_commenting" id="gb-commenting">
 | 
			
		||||
							<option value="true">Enabled</option>
 | 
			
		||||
							<option value="1h">Disabled for 1 Hour</option>
 | 
			
		||||
							<option value="4h">Disabled for 4 Hours</option>
 | 
			
		||||
							<option value="8h">Disabled for 8 Hours</option>
 | 
			
		||||
							<option value="1d">Disabled for 1 Day</option>
 | 
			
		||||
							<option value="3d">Disabled for 3 Days</option>
 | 
			
		||||
							<option value="7d">Disabled for 7 Days</option>
 | 
			
		||||
							<option value="false">Disabled Indefinitely</option>
 | 
			
		||||
						</select>
 | 
			
		||||
						<label>Commenting re-enabled at <datetime value="">sometime in the future</datetime></label>
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<label>Enable Widgets</label>
 | 
			
		||||
						<label for="gb_remote_true">
 | 
			
		||||
							<input type="radio" name="gb_remote" id="gb_remote_true"/>
 | 
			
		||||
							Yes
 | 
			
		||||
						</label>
 | 
			
		||||
						<label for="gb_commenting_false">
 | 
			
		||||
							<input type="radio" name="gb_remote" id="gb_remote_false"/>
 | 
			
		||||
							No
 | 
			
		||||
						</label>
 | 
			
		||||
					</div>
 | 
			
		||||
					<input type="submit" value="Submit"/>
 | 
			
		||||
				</form>
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
templ AllGuestbooksView(data CommonData, websites []models.Website) {
 | 
			
		||||
	@base("All Guestbooks", data) {
 | 
			
		||||
		<div>
 | 
			
		||||
@ -160,7 +212,7 @@ templ AllGuestbooksView(data CommonData, websites []models.Website) {
 | 
			
		||||
			<ul>
 | 
			
		||||
				for _, w := range websites {
 | 
			
		||||
					<li>
 | 
			
		||||
                        {{  gbUrl := fmt.Sprintf("/websites/%s/guestbook", shortIdToSlug(w.ShortId))}}
 | 
			
		||||
						{{ gbUrl := fmt.Sprintf("/websites/%s/guestbook", shortIdToSlug(w.ShortId)) }}
 | 
			
		||||
						<a href={ templ.URL(gbUrl) } target="_blank">{ w.Name }</a>
 | 
			
		||||
					</li>
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
@ -60,7 +60,7 @@ func GuestbookDashboardCommentsView(title string, data CommonData, website model
 | 
			
		||||
			var templ_7745c5c3_Var3 string
 | 
			
		||||
			templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(website.SiteUrl)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 12, Col: 49}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 12, Col: 37}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -131,7 +131,7 @@ func GuestbookDashboardCommentView(data CommonData, w models.Website, c models.G
 | 
			
		||||
			var templ_7745c5c3_Var5 string
 | 
			
		||||
			templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(commentUrl)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 31, Col: 61}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 31, Col: 49}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -144,7 +144,7 @@ func GuestbookDashboardCommentView(data CommonData, w models.Website, c models.G
 | 
			
		||||
			var templ_7745c5c3_Var6 string
 | 
			
		||||
			templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(hxHeaders)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 31, Col: 118}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 31, Col: 106}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -157,7 +157,7 @@ func GuestbookDashboardCommentView(data CommonData, w models.Website, c models.G
 | 
			
		||||
			var templ_7745c5c3_Var7 string
 | 
			
		||||
			templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(commentUrl)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 32, Col: 59}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 32, Col: 47}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -170,7 +170,7 @@ func GuestbookDashboardCommentView(data CommonData, w models.Website, c models.G
 | 
			
		||||
			var templ_7745c5c3_Var8 string
 | 
			
		||||
			templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(hxHeaders)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 32, Col: 116}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 32, Col: 104}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -203,7 +203,7 @@ func GuestbookDashboardCommentView(data CommonData, w models.Website, c models.G
 | 
			
		||||
		var templ_7745c5c3_Var9 string
 | 
			
		||||
		templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(c.AuthorName)
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 42, Col: 34}
 | 
			
		||||
			return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 42, Col: 25}
 | 
			
		||||
		}
 | 
			
		||||
		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -231,7 +231,7 @@ func GuestbookDashboardCommentView(data CommonData, w models.Website, c models.G
 | 
			
		||||
			var templ_7745c5c3_Var11 string
 | 
			
		||||
			templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(c.AuthorEmail)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 45, Col: 78}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 45, Col: 66}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -259,7 +259,7 @@ func GuestbookDashboardCommentView(data CommonData, w models.Website, c models.G
 | 
			
		||||
			var templ_7745c5c3_Var13 string
 | 
			
		||||
			templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(c.AuthorSite)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 48, Col: 96}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 48, Col: 85}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -277,7 +277,7 @@ func GuestbookDashboardCommentView(data CommonData, w models.Website, c models.G
 | 
			
		||||
		var templ_7745c5c3_Var14 string
 | 
			
		||||
		templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(c.Created.In(data.CurrentUser.Settings.LocalTimezone).Format("01-02-2006 03:04PM"))
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 51, Col: 100}
 | 
			
		||||
			return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 51, Col: 88}
 | 
			
		||||
		}
 | 
			
		||||
		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -290,7 +290,7 @@ func GuestbookDashboardCommentView(data CommonData, w models.Website, c models.G
 | 
			
		||||
		var templ_7745c5c3_Var15 string
 | 
			
		||||
		templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(c.CommentText)
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 55, Col: 27}
 | 
			
		||||
			return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 55, Col: 18}
 | 
			
		||||
		}
 | 
			
		||||
		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -338,7 +338,7 @@ func commentForm(form forms.CommentCreateForm) templ.Component {
 | 
			
		||||
			var templ_7745c5c3_Var17 string
 | 
			
		||||
			templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(error)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 66, Col: 36}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 66, Col: 31}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -362,7 +362,7 @@ func commentForm(form forms.CommentCreateForm) templ.Component {
 | 
			
		||||
			var templ_7745c5c3_Var18 string
 | 
			
		||||
			templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(error)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 74, Col: 36}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 74, Col: 31}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -386,7 +386,7 @@ func commentForm(form forms.CommentCreateForm) templ.Component {
 | 
			
		||||
			var templ_7745c5c3_Var19 string
 | 
			
		||||
			templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(error)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 82, Col: 36}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 82, Col: 31}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -410,7 +410,7 @@ func commentForm(form forms.CommentCreateForm) templ.Component {
 | 
			
		||||
			var templ_7745c5c3_Var20 string
 | 
			
		||||
			templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(error)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 90, Col: 36}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 90, Col: 31}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -464,7 +464,7 @@ func GuestbookView(title string, data CommonData, website models.Website, guestb
 | 
			
		||||
			var templ_7745c5c3_Var22 string
 | 
			
		||||
			templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(title)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 106, Col: 26}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 106, Col: 18}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -477,7 +477,7 @@ func GuestbookView(title string, data CommonData, website models.Website, guestb
 | 
			
		||||
			var templ_7745c5c3_Var23 string
 | 
			
		||||
			templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(website.Name)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 112, Col: 56}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 112, Col: 38}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -499,7 +499,7 @@ func GuestbookView(title string, data CommonData, website models.Website, guestb
 | 
			
		||||
			var templ_7745c5c3_Var25 string
 | 
			
		||||
			templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(data.CSRFToken)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 114, Col: 88}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 114, Col: 68}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -531,7 +531,7 @@ func GuestbookView(title string, data CommonData, website models.Website, guestb
 | 
			
		||||
				var templ_7745c5c3_Var26 string
 | 
			
		||||
				templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs(c.AuthorName)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 124, Col: 50}
 | 
			
		||||
					return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 124, Col: 26}
 | 
			
		||||
				}
 | 
			
		||||
				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26))
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -544,7 +544,7 @@ func GuestbookView(title string, data CommonData, website models.Website, guestb
 | 
			
		||||
				var templ_7745c5c3_Var27 string
 | 
			
		||||
				templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(c.Created.Format("01-02-2006 03:04PM"))
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 125, Col: 72}
 | 
			
		||||
					return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 125, Col: 48}
 | 
			
		||||
				}
 | 
			
		||||
				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -557,7 +557,7 @@ func GuestbookView(title string, data CommonData, website models.Website, guestb
 | 
			
		||||
				var templ_7745c5c3_Var28 string
 | 
			
		||||
				templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinStringErrs(c.CommentText)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 127, Col: 51}
 | 
			
		||||
					return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 127, Col: 24}
 | 
			
		||||
				}
 | 
			
		||||
				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28))
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -607,7 +607,7 @@ func CreateGuestbookComment(title string, data CommonData, website models.Websit
 | 
			
		||||
			var templ_7745c5c3_Var30 string
 | 
			
		||||
			templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(postUrl)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 141, Col: 35}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 141, Col: 25}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
@ -670,7 +670,7 @@ func CreateGuestbookComment(title string, data CommonData, website models.Websit
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func AllGuestbooksView(data CommonData, websites []models.Website) templ.Component {
 | 
			
		||||
func GuestbookSettingsView(data CommonData, website models.Website) templ.Component {
 | 
			
		||||
	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
 | 
			
		||||
@ -691,6 +691,7 @@ func AllGuestbooksView(data CommonData, websites []models.Website) templ.Compone
 | 
			
		||||
			templ_7745c5c3_Var33 = templ.NopComponent
 | 
			
		||||
		}
 | 
			
		||||
		ctx = templ.ClearChildren(ctx)
 | 
			
		||||
		putUrl := fmt.Sprintf("/websites/%s/dashboard/guestbook/settings", shortIdToSlug(website.ShortId))
 | 
			
		||||
		templ_7745c5c3_Var34 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
			templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
			templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
@ -703,50 +704,131 @@ func AllGuestbooksView(data CommonData, websites []models.Website) templ.Compone
 | 
			
		||||
				}()
 | 
			
		||||
			}
 | 
			
		||||
			ctx = templ.InitializeContext(ctx)
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<div><h1>All Guestbooks</h1><p>This page exists only for testing the service.</p><ul>")
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<div id=\"dashboard\">")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			for _, w := range websites {
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "<li>")
 | 
			
		||||
			templ_7745c5c3_Err = wSidebar(website).Render(ctx, templ_7745c5c3_Buffer)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
				gbUrl := fmt.Sprintf("/websites/%s/guestbook", shortIdToSlug(w.ShortId))
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "<a href=\"")
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "<div><h1>Guestbook Settings</h1><form hx-put=\"")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
				var templ_7745c5c3_Var35 templ.SafeURL = templ.URL(gbUrl)
 | 
			
		||||
				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var35)))
 | 
			
		||||
			var templ_7745c5c3_Var35 string
 | 
			
		||||
			templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(putUrl)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 160, Col: 25}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "\" target=\"_blank\">")
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "\"><input type=\"hidden\" name=\"csrf_token\" value=\"")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			var templ_7745c5c3_Var36 string
 | 
			
		||||
				templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(w.Name)
 | 
			
		||||
			templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(data.CSRFToken)
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 164, Col: 77}
 | 
			
		||||
				return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 161, Col: 66}
 | 
			
		||||
			}
 | 
			
		||||
			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36))
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</a></li>")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "</ul></div>")
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "\"><div><label>Guestbook Visibility</label> <label for=\"gb_visible_true\"><input type=\"radio\" name=\"gb_visible\" id=\"gb_visible_true\"> Public</label> <label for=\"gb_visible_false\"><input type=\"radio\" name=\"gb_visible\" id=\"gb_visible_false\"> Private</label></div><div><label>Guestbook Commenting</label> <select name=\"gb_commenting\" id=\"gb-commenting\"><option value=\"true\">Enabled</option> <option value=\"1h\">Disabled for 1 Hour</option> <option value=\"4h\">Disabled for 4 Hours</option> <option value=\"8h\">Disabled for 8 Hours</option> <option value=\"1d\">Disabled for 1 Day</option> <option value=\"3d\">Disabled for 3 Days</option> <option value=\"7d\">Disabled for 7 Days</option> <option value=\"false\">Disabled Indefinitely</option></select> <label>Commenting re-enabled at <datetime value=\"\">sometime in the future</datetime></label></div><div><label>Enable Widgets</label> <label for=\"gb_remote_true\"><input type=\"radio\" name=\"gb_remote\" id=\"gb_remote_true\"> Yes</label> <label for=\"gb_commenting_false\"><input type=\"radio\" name=\"gb_remote\" id=\"gb_remote_false\"> No</label></div><input type=\"submit\" value=\"Submit\"></form></div></div>")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			return nil
 | 
			
		||||
		})
 | 
			
		||||
		templ_7745c5c3_Err = base("All Guestbooks", data).Render(templ.WithChildren(ctx, templ_7745c5c3_Var34), templ_7745c5c3_Buffer)
 | 
			
		||||
		templ_7745c5c3_Err = base("Guestbook Settings", data).Render(templ.WithChildren(ctx, templ_7745c5c3_Var34), templ_7745c5c3_Buffer)
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		return nil
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func AllGuestbooksView(data CommonData, websites []models.Website) templ.Component {
 | 
			
		||||
	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
 | 
			
		||||
			return templ_7745c5c3_CtxErr
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
		if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
			defer func() {
 | 
			
		||||
				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
				if templ_7745c5c3_Err == nil {
 | 
			
		||||
					templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
				}
 | 
			
		||||
			}()
 | 
			
		||||
		}
 | 
			
		||||
		ctx = templ.InitializeContext(ctx)
 | 
			
		||||
		templ_7745c5c3_Var37 := templ.GetChildren(ctx)
 | 
			
		||||
		if templ_7745c5c3_Var37 == nil {
 | 
			
		||||
			templ_7745c5c3_Var37 = templ.NopComponent
 | 
			
		||||
		}
 | 
			
		||||
		ctx = templ.ClearChildren(ctx)
 | 
			
		||||
		templ_7745c5c3_Var38 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 | 
			
		||||
			templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 | 
			
		||||
			templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 | 
			
		||||
			if !templ_7745c5c3_IsBuffer {
 | 
			
		||||
				defer func() {
 | 
			
		||||
					templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 | 
			
		||||
					if templ_7745c5c3_Err == nil {
 | 
			
		||||
						templ_7745c5c3_Err = templ_7745c5c3_BufErr
 | 
			
		||||
					}
 | 
			
		||||
				}()
 | 
			
		||||
			}
 | 
			
		||||
			ctx = templ.InitializeContext(ctx)
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "<div><h1>All Guestbooks</h1><p>This page exists only for testing the service.</p><ul>")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			for _, w := range websites {
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "<li>")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				gbUrl := fmt.Sprintf("/websites/%s/guestbook", shortIdToSlug(w.ShortId))
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "<a href=\"")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				var templ_7745c5c3_Var39 templ.SafeURL = templ.URL(gbUrl)
 | 
			
		||||
				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var39)))
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "\" target=\"_blank\">")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				var templ_7745c5c3_Var40 string
 | 
			
		||||
				templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(w.Name)
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ.Error{Err: templ_7745c5c3_Err, FileName: `ui/views/guestbooks.templ`, Line: 216, Col: 59}
 | 
			
		||||
				}
 | 
			
		||||
				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40))
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "</a></li>")
 | 
			
		||||
				if templ_7745c5c3_Err != nil {
 | 
			
		||||
					return templ_7745c5c3_Err
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "</ul></div>")
 | 
			
		||||
			if templ_7745c5c3_Err != nil {
 | 
			
		||||
				return templ_7745c5c3_Err
 | 
			
		||||
			}
 | 
			
		||||
			return nil
 | 
			
		||||
		})
 | 
			
		||||
		templ_7745c5c3_Err = base("All Guestbooks", data).Render(templ.WithChildren(ctx, templ_7745c5c3_Var38), templ_7745c5c3_Buffer)
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -25,8 +25,8 @@ templ wSidebar(website models.Website) {
 | 
			
		||||
			<ul>
 | 
			
		||||
				<li><a href={ templ.URL(dashUrl + "/guestbook/comments") }>Manage messages</a></li>
 | 
			
		||||
				<li><a href={ templ.URL(dashUrl + "/guestbook/comments/queue") }>Review message queue</a></li>
 | 
			
		||||
				<li><a href={ templ.URL(dashUrl + "/guestbook/blocklist") }>Block users</a></li>
 | 
			
		||||
				<li><a href={ templ.URL(dashUrl + "/guestbook/comments/trash") }>Trash</a></li>
 | 
			
		||||
				<li><a href={ templ.URL(dashUrl + "/guestbook/settings") }>Settings</a></li>
 | 
			
		||||
			</ul>
 | 
			
		||||
			<ul>
 | 
			
		||||
				<li><a href={ templ.URL(dashUrl + "/guestbook/themes") }>Themes</a></li>
 | 
			
		||||
 | 
			
		||||
@ -101,21 +101,21 @@ func wSidebar(website models.Website) templ.Component {
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		var templ_7745c5c3_Var8 templ.SafeURL = templ.URL(dashUrl + "/guestbook/blocklist")
 | 
			
		||||
		var templ_7745c5c3_Var8 templ.SafeURL = templ.URL(dashUrl + "/guestbook/comments/trash")
 | 
			
		||||
		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var8)))
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "\">Block users</a></li><li><a href=\"")
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "\">Trash</a></li><li><a href=\"")
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		var templ_7745c5c3_Var9 templ.SafeURL = templ.URL(dashUrl + "/guestbook/comments/trash")
 | 
			
		||||
		var templ_7745c5c3_Var9 templ.SafeURL = templ.URL(dashUrl + "/guestbook/settings")
 | 
			
		||||
		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var9)))
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "\">Trash</a></li></ul><ul><li><a href=\"")
 | 
			
		||||
		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "\">Settings</a></li></ul><ul><li><a href=\"")
 | 
			
		||||
		if templ_7745c5c3_Err != nil {
 | 
			
		||||
			return templ_7745c5c3_Err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user