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 ( <>
U
{[ ['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]) => (
{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 ( ) })}
))}
) }