import React, {useMemo, useState} from 'react' import {UpkQuestion, UpkQuestionChoice} from "@/api"; import {Card, CardContent, CardTitle, CardFooter, CardHeader} from "@/components/ui/card.tsx"; import {useAppDispatch, useAppSelector} from "@/hooks.ts"; import {addAnswer, makeSelectChoicesByQuestion} from "@/models/answerSlice.ts"; import {useSelector} from "react-redux"; import {Button} from "@/components/ui/button" import { Pagination, PaginationContent, PaginationItem, PaginationLink, PaginationNext, } from "@/components/ui/pagination" import { Input } from "@/components/ui/input" import {Badge} from "@/components/ui/badge" const TextEntry: React.FC<{ question: UpkQuestion }> = ({question}) => { const dispatch = useAppDispatch() const selectAnswer = useMemo(() => makeSelectChoicesByQuestion(question), [question]); const answer = useSelector(selectAnswer); const handleInputChange = (event: React.ChangeEvent) => { dispatch(addAnswer({question: question, val: event.target.value})) }; // console.log("TextEntry.answer", answer) return ( // {answer.error_msg} ) } const MultiChoiceItem: React.FC<{ question: UpkQuestion, choice: UpkQuestionChoice }> = ({question, choice}) => { const dispatch = useAppDispatch() const selectAnswer = useMemo(() => makeSelectChoicesByQuestion(question), [question]); const answer = useSelector(selectAnswer); const selected: Boolean = answer.values.includes(choice.choice_id) return (
  • ) } const MultipleChoice: React.FC<{ question: UpkQuestion }> = ({question}) => { // const selectAnswer = useMemo(() => makeSelectChoicesByQuestion(question), [question]); // const answer = useSelector(selectAnswer); return ( // {answer.error_msg}
      { question.choices.map(c => { return }) }
    ) } const ProfileQuestionFull: React.FC = ({question}) => { const renderContent = () => { switch (question.question_type) { case 'TE': return case 'MC': return } }; return ( {question.task_count.toLocaleString()} {question.question_text} {renderContent()} ) } const QuestionsPage = () => { const questions = useAppSelector(state => state.questions) const [activeQuestionID, setQuestionID] = useState(() => questions[0].question_id); const question = questions.find(q => q.question_id === activeQuestionID); console.log("activeQuestionID:", activeQuestionID, question) return (

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

    { questions.slice(0, 5).map((q, i) => { return ( setQuestionID(q.question_id)} isActive={q.question_id === activeQuestionID} > {i + 1} ) }) }
    ) } export { QuestionsPage }