import Send from 'lucide-react/dist/esm/icons/send'
import Spinner from '../shared/Spinner'
import { getQStatus, STATUS_CLASS } from '../../utils/testEngineUtils'
export default function TestSidebar({
answered,
answers,
currentQuestion,
marked,
notAnswered,
onQuestionSelect,
onSubmitClick,
questions,
submitting,
subjects,
visited,
}) {
return (
<>
{[
['q-dot-answered', `Answered (${answered})`],
['q-dot-not-answered', `Not Answered (${notAnswered})`],
['q-dot-not-visited', `Not Visited (${questions.length - visited.size})`],
['q-dot-marked', `Marked (${marked.size})`],
].map(([cls, label]) => (
))}
{subjects.map(subject => {
const subjectQuestions = questions.filter(q => (q.subject || 'General') === subject)
return (
{subject}
{subjectQuestions.map(question => {
const questionIndex = questions.indexOf(question)
const isCurrent = question.id === currentQuestion?.id
const status = isCurrent
? 'current'
: !visited.has(question.id)
? 'not-visited'
: getQStatus(question.id, currentQuestion?.id, answers, marked)
return (
)
})}
)
})}
>
)
}