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 ( <>
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}
))}
{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 ( ) })}
) })}
) }