Simplified sending HTMX

This commit is contained in:
Caleb Gardner
2024-11-01 11:46:07 -05:00
parent 6925ff9e0c
commit 0f2b0f4f5d
4 changed files with 12 additions and 21 deletions
-8
View File
@@ -24,12 +24,8 @@ func latestBlogsHandle(w http.ResponseWriter, r *http.Request) {
for _, b := range latest { for _, b := range latest {
out += b.HTMX(blogApp, r.Context()) out += b.HTMX(blogApp, r.Context())
} }
if r.Header.Get("Hx-Request") == "true" {
w.Write([]byte("<title>Darkstorm.tech</title>" + out))
} else {
sendContent(w, r, out, "", "") sendContent(w, r, out, "", "")
} }
}
func blogHandle(w http.ResponseWriter, r *http.Request, blog string) { func blogHandle(w http.ResponseWriter, r *http.Request, blog string) {
bl, err := blogApp.Blog(r.Context(), blog) bl, err := blogApp.Blog(r.Context(), blog)
@@ -44,9 +40,5 @@ func blogHandle(w http.ResponseWriter, r *http.Request, blog string) {
sendContent(w, r, "Error getting page", "", "") sendContent(w, r, "Error getting page", "", "")
return return
} }
if r.Header.Get("Hx-Request") == "true" {
w.Write([]byte("<title>" + bl.Title + "</title>" + bl.HTMX(blogApp, r.Context())))
} else {
sendContent(w, r, bl.HTMX(blogApp, r.Context()), bl.Title, bl.Favicon) sendContent(w, r, bl.HTMX(blogApp, r.Context()), bl.Title, bl.Favicon)
} }
}
+1 -5
View File
@@ -21,7 +21,7 @@ func filesRequest(w http.ResponseWriter, r *http.Request) {
if err != nil { if err != nil {
if os.IsNotExist(err) { if os.IsNotExist(err) {
pageContent = "<p>404 Not Found</p>" pageContent = "<p>404 Not Found</p>"
// w.WriteHeader(http.StatusNotFound) w.WriteHeader(http.StatusNotFound)
} else { } else {
pageContent = "<p>Server error!</p>" pageContent = "<p>Server error!</p>"
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
@@ -52,9 +52,5 @@ func filesRequest(w http.ResponseWriter, r *http.Request) {
return return
} }
} }
if r.Header.Get("Hx-Request") == "true" {
w.Write([]byte(pageContent))
} else {
sendContent(w, r, pageContent, "Files", "") sendContent(w, r, pageContent, "Files", "")
} }
}
-4
View File
@@ -14,9 +14,5 @@ func portfolioRequest(w http.ResponseWriter, r *http.Request) {
sendContent(w, r, "Error getting portfolio", "", "") sendContent(w, r, "Error getting portfolio", "", "")
return return
} }
if r.Header.Get("Hx-Request") == "true" {
w.Write([]byte("<title>Portfolio</title>" + proj.FullHTMX(r.Context(), blogApp, selectedTech)))
} else {
sendContent(w, r, proj.FullHTMX(r.Context(), blogApp, selectedTech), "Portfolio", "") sendContent(w, r, proj.FullHTMX(r.Context(), blogApp, selectedTech), "Portfolio", "")
} }
}
+7
View File
@@ -17,6 +17,13 @@ const (
) )
func sendContent(w http.ResponseWriter, r *http.Request, content string, title string, favicon string) { func sendContent(w http.ResponseWriter, r *http.Request, content string, title string, favicon string) {
if title == "" {
title = "Darkstorm.tech"
}
if r.Header.Get("Hx-Request") == "true" {
w.Write([]byte("<title>" + title + "</title>" + content))
return
}
if r.URL.Query().Get("contentOnly") == "true" { if r.URL.Query().Get("contentOnly") == "true" {
json.NewEncoder(w).Encode(map[string]string{"content": content, "title": title, "favicon": favicon}) json.NewEncoder(w).Encode(map[string]string{"content": content, "title": title, "favicon": favicon})
return return