summaryrefslogtreecommitdiff
path: root/components/question.html
diff options
context:
space:
mode:
Diffstat (limited to 'components/question.html')
-rw-r--r--components/question.html75
1 files changed, 75 insertions, 0 deletions
diff --git a/components/question.html b/components/question.html
new file mode 100644
index 0000000..ef4618b
--- /dev/null
+++ b/components/question.html
@@ -0,0 +1,75 @@
+{{define "question"}}
+<div id="question">
+ {{if .Requirement}}
+ <p>{{.Requirement}}</p>
+ {{end}}
+ <div class="question-text" data-testid="question">
+ {{.Text}}
+ </div>
+ <div id="reaction">
+ {{if eq .Status 1}}
+ Correct!
+ {{end}}
+ {{if eq .Status 2}}
+ Wrong.
+ {{end}}
+ </div>
+ <div id="feedback" data-testid="feedback">
+ {{if ne .Status 0}}
+ <div>
+ {{.Explanation}}
+ </div>
+ <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>
+ <div id="options">
+ <button
+ data-testid="option1"
+ hx-post="/answer"
+ hx-vals='{"selected": "0", "question_id": "{{.ID}}"}'
+ hx-target="#ancestor"
+ hx-swap="innerHTML"
+ class="option-button"
+ >
+ {{.Option1}}
+ </button>
+ <button
+ data-testid="option2"
+ hx-post="/answer"
+ hx-vals='{"selected": "1", "question_id": "{{.ID}}"}'
+ hx-target="#ancestor"
+ hx-swap="innerHTML"
+ class="option-button"
+ >
+ {{.Option2}}
+ </button>
+ <button
+ data-testid="option3"
+ hx-post="/answer"
+ hx-vals='{"selected": "2", "question_id": "{{.ID}}"}'
+ hx-target="#ancestor"
+ hx-swap="innerHTML"
+ class="option-button"
+ >
+ {{.Option3}}
+ </button>
+ <button
+ data-testid="option4"
+ hx-post="/answer"
+ hx-vals='{"selected": "3", "question_id": "{{.ID}}"}'
+ hx-target="#ancestor"
+ hx-swap="innerHTML"
+ class="option-button"
+ >
+ {{.Option4}}
+ </button>
+ </div>
+</div>
+{{end}}