diff options
author | Grail Finder (aider) <wohilas@gmail.com> | 2025-04-05 17:56:09 +0300 |
---|---|---|
committer | Grail Finder (aider) <wohilas@gmail.com> | 2025-04-05 17:56:09 +0300 |
commit | ba24de361eb2133d5e014d5796f654c82e6d69cb (patch) | |
tree | d62132c1ba98b3533049e5744ca5253248d63504 /internal/handlers/main.go | |
parent | 96441a431eaca60b1b798e997608812c8be76598 (diff) |
feat: return full Question model in /answer response
Diffstat (limited to 'internal/handlers/main.go')
-rw-r--r-- | internal/handlers/main.go | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/internal/handlers/main.go b/internal/handlers/main.go index 4717f3c..a685b88 100644 --- a/internal/handlers/main.go +++ b/internal/handlers/main.go @@ -88,8 +88,19 @@ func (h *Handlers) HandleAnswer(w http.ResponseWriter, r *http.Request) { feedback = `<div data-testid="feedback" class="feedback">Wrong answer! The correct answer was: ` + getCorrectOption(question) + `</div>` } + // Render feedback section with full question state + tmpl, err := template.ParseGlob("components/*.html") + if err != nil { + abortWithError(w, err.Error()) + return + } + + // Execute template with question data including status w.Header().Set("Content-Type", "text/html") - w.Write([]byte(feedback)) + err = tmpl.ExecuteTemplate(w, "feedback", question) + if err != nil { + h.log.Error("failed to render feedback template", "error", err) + } } func getCorrectOption(q *models.Question) string { |