summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--components/feedback.html32
-rw-r--r--components/index.html5
-rw-r--r--internal/handlers/main.go13
3 files changed, 2 insertions, 48 deletions
diff --git a/components/feedback.html b/components/feedback.html
deleted file mode 100644
index 06d39de..0000000
--- a/components/feedback.html
+++ /dev/null
@@ -1,32 +0,0 @@
-{{define "feedback"}}
-{{if .Correct}}
-<div class="correct-feedback">
- <div class="correct-answer">Correct!</div>
- <div class="explanation">{{.Explanation}}</div>
- {{if .ShowNext}}
- <button
- hx-get="/next-question?current_id={{.ID}}"
- hx-target="#ancestor"
- hx-swap="outerHTML"
- class="next-button"
- data-testid="next-button">
- Next Question →
- </button>
- {{end}}
-</div>
-{{else}}
-<div class="error-feedback">
- <div class="explanation">{{.Explanation}}</div>
- {{if .ShowNext}}
- <button
- hx-get="/next-question?current_id={{.ID}}"
- hx-target="#ancestor"
- hx-swap="outerHTML"
- class="next-button"
- data-testid="next-button">
- Next Question →
- </button>
- {{end}}
-</div>
-{{end}}
-{{end}}
diff --git a/components/index.html b/components/index.html
index 31775b0..d3811b1 100644
--- a/components/index.html
+++ b/components/index.html
@@ -17,11 +17,6 @@
{{.Text}}
</div>
<div id="feedback" data-testid="feedback">
- {{if eq .Status 1}}
- <div class="feedback">Correct! 🎉</div>
- {{else if eq .Status 2}}
- <div class="feedback">Wrong answer! The correct answer was: {{index .Options .CorrectIndex}}</div>
- {{end}}
{{if ne .Status 0}}
<div>
{{.Explanation}}
diff --git a/internal/handlers/main.go b/internal/handlers/main.go
index a685b88..b485864 100644
--- a/internal/handlers/main.go
+++ b/internal/handlers/main.go
@@ -79,25 +79,16 @@ func (h *Handlers) HandleAnswer(w http.ResponseWriter, r *http.Request) {
return
}
selectedIdx++ // in db index starts from 1
- feedback := ""
- if selectedIdx == int(question.CorrectIndex) {
- question.Status = 1
- feedback = `<div data-testid="feedback" class="feedback">Correct! 🎉</div>`
- } else {
- question.Status = 2
- 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")
- err = tmpl.ExecuteTemplate(w, "feedback", question)
+ err = tmpl.ExecuteTemplate(w, "main", question)
if err != nil {
h.log.Error("failed to render feedback template", "error", err)
}