Questionnaire
Multi-step form, one question at a time (single choice, multiple choice, free text, skippable). Each step is a POST and the server decides what comes next: validation, conditional questions and resuming all live in Go. Keys 1–9 choose, Enter advances; Back never validates.
With a conditional question and resuming
Keys 1–9 choose; Enter advances. "No" on the first question skips the one about areas. Resume saved answers
@components.Questionnaire(components.QuestionnaireProps{
ID: "profile", Action: "/profile/answer",
Step: s.Step, Total: s.Total, Question: s.Question, Answers: s.Answers, Error: s.Error,
})