fix(04-CR-02): replace fmt.Fprintf in TaskDeleteHandler with TaskCardGone templ component
The raw fmt.Fprintf bypassed templ's auto-escaping pipeline and was inconsistent with every other handler. Added TaskCardGone(taskID uuid.UUID) to tasks.templ and updated TaskDeleteHandler to use it. Ran just generate. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
e97f4988bd
commit
392b5321be
2 changed files with 7 additions and 1 deletions
|
|
@ -276,7 +276,7 @@ func TaskDeleteHandler(deps TasksDeps) http.HandlerFunc {
|
|||
if r.Header.Get("HX-Request") == "true" {
|
||||
w.Header().Set("Content-Type", "text/html; charset=utf-8")
|
||||
// Return empty zone div so HTMX removes the card from the DOM (TASK-06).
|
||||
fmt.Fprintf(w, `<div id="task-%s" class="task-card-zone"></div>`, task.ID.String())
|
||||
_ = templates.TaskCardGone(task.ID).Render(r.Context(), w)
|
||||
return
|
||||
}
|
||||
http.Redirect(w, r, "/tablos/"+tablo.ID.String(), http.StatusSeeOther)
|
||||
|
|
|
|||
|
|
@ -338,6 +338,12 @@ templ AddTaskTrigger(tabloID uuid.UUID, status sqlc.TaskStatus, csrfToken string
|
|||
>+ Add task</button>
|
||||
}
|
||||
|
||||
// TaskCardGone renders an empty zone div with the task's id so HTMX outerHTML
|
||||
// swap removes the card from the DOM after a successful delete (TASK-06).
|
||||
templ TaskCardGone(taskID uuid.UUID) {
|
||||
<div id={ "task-" + taskID.String() } class="task-card-zone"></div>
|
||||
}
|
||||
|
||||
// TaskCardOOB renders a new TaskCard AND an OOB swap that resets the add-task
|
||||
// slot to AddTaskTrigger. Used by TaskCreateHandler to perform both operations
|
||||
// in a single HTMX response.
|
||||
|
|
|
|||
Loading…
Reference in a new issue