diff --git a/internal/handlers/handlers.go b/internal/handlers/handlers.go index bd3dab4..a69232f 100644 --- a/internal/handlers/handlers.go +++ b/internal/handlers/handlers.go @@ -493,6 +493,12 @@ func (h *Handler) CreateIssue(w http.ResponseWriter, r *http.Request) { body := r.FormValue("body") if owner == "" || repo == "" || title == "" { + if isHTMX(r) { + w.Header().Set("Content-Type", "text/html; charset=utf-8") + w.WriteHeader(http.StatusBadRequest) + fmt.Fprint(w, `owner, repo, and title are required`) + return + } http.Error(w, "owner, repo, and title are required", http.StatusBadRequest) return } @@ -500,6 +506,12 @@ func (h *Handler) CreateIssue(w http.ResponseWriter, r *http.Request) { issue, err := h.Client.CreateIssue(r.Context(), token, owner, repo, title, body, nil) if err != nil { slog.Error("failed to create issue", "error", err) + if isHTMX(r) { + w.Header().Set("Content-Type", "text/html; charset=utf-8") + w.WriteHeader(http.StatusInternalServerError) + fmt.Fprint(w, `Failed to create issue. Please try again.`) + return + } http.Error(w, "failed to create issue", http.StatusInternalServerError) return } diff --git a/internal/templates/create_issue.html b/internal/templates/create_issue.html index ac1c6f7..f317de6 100644 --- a/internal/templates/create_issue.html +++ b/internal/templates/create_issue.html @@ -1,7 +1,9 @@ {{define "content"}}