import Send from 'lucide-react/dist/esm/icons/send'
import Spinner from '../shared/Spinner'
import { getQStatus, STATUS_CLASS } from '../../utils/testEngineUtils'
import { Button } from '@/components/ui/button'
export default function TestSidebar({
answered,
answers,
currentQuestion,
marked,
notAnswered,
onQuestionSelect,
onSubmitClick,
questionGroups,
questions,
submitting,
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]) => (
))}
{[...questionGroups.entries()].map(([subject, items]) => (
{subject}
{items.map(({ question, index: questionIndex }) => {
const isCurrent = question.id === currentQuestion?.id
const status = isCurrent
? 'current'
: !visited.has(question.id)
? 'not-visited'
: getQStatus(question.id, currentQuestion?.id, answers, marked)
return (
)
})}
))}
>
)
}