import React from 'react' import {UpkQuestion} from "@/api"; import {UpkQuestionChoice} from "@/api/models/upk-question-choice.ts"; import {Card, CardContent, CardHeader} from "@/components/ui/card.tsx"; import {useAppSelector} from "@/hooks.ts"; const TextEntry: React.FC<{ question: UpkQuestion }> = ({question}) => { // const dispatch = useAppDispatch() // const buckets = useAppSelector(state => state.buckets) // const handleInputChange = (event: React.ChangeEvent) => { // // Don't allow any input changes after they triggered submission... // if (question._complete || question._processing) { // return // } // // // Assign the input value as an answer to the question // const newValue = event.target.value; // dispatch(setAnswer({questionId: question.questionId, val: newValue})) // }; return ( {question.question_text} {/*{question.error_msg}*/} ) } const MultiChoiceItem: React.FC<{ question: UpkQuestion, choice: UpkQuestionChoice }> = ({question, choice}) => { // const onclick = function () { // // Assign the input value as an answer to the question // let answer = getAnswer; // let click_value = childView.model.get("choice_id") // // switch (question.selector) { // // case "SA": /// Single Answer // answer.set("values", [{"value": click_value}]); // break // // case "MA": /// Multi Answer // let current_values: AnswerValueItemType[] = answer.get("values") ?? []; // // if (includes(map(current_values, "value"), click_value)) { // // The item has already been selected // current_values = remove(current_values, (v) => { // return v["value"] != click_value // }) // // } else { // // It's a new selection // current_values.push({"value": click_value}) // } // // answer.set("values", current_values); // break // } // childView.render(); // // // Validate the answer and show any information // let res: QuestionValidationResult = this.model.validateAnswer() // this.ui.message.text(res["message"]); // } // const render = function () { // let answer = this.getOption("answer"); // let current_values: AnswerValueItemType[] = answer.get("values") ?? []; // let current_values_values = map(current_values, "value"); // // if (includes(current_values_values, this.model.get("choice_id"))) { // this.$el.addClass("selected"); // } // } return ( <> {choice.choice_text} ) } const MultipleChoice: React.FC<{ question: UpkQuestion }> = ({question}) => { return ( {question.question_text} {/*{question.error_msg}*/} { question.choices.map(c => { return }) } ) } const ProfileQuestionFull: React.FC = ({question}) => { switch (question.question_type) { case "TE": return case "MC": return default: throw new Error("Incorrect Question Type provided"); } } const QuestionsPage = () => { const questions = useAppSelector(state => state.questions) return (

A total of {questions.length} questions are available.

{ questions.map(q => { return ; }) }
); } export { QuestionsPage }