import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Check, Circle, Flag } from 'lucide-react'; interface Props { questions: ExamQuestion[]; currentQuestionIndex: number; answeredQuestions: Set; markedQuestions: Set; onNavigate: (index: number) => void; } const QuestionNavigator = ({ questions, currentQuestionIndex, answeredQuestions, markedQuestions, onNavigate }: Props) => { const getQuestionStatus = (questionId: number) => { if (answeredQuestions.has(questionId)) return 'answered'; if (markedQuestions.has(questionId)) return 'marked'; return 'unanswered'; }; const getStatusIcon = (questionId: number) => { const status = getQuestionStatus(questionId); if (status === 'answered') return ; if (status === 'marked') return ; return ; }; const getButtonVariant = (index: number, questionId: number) => { if (index === currentQuestionIndex) return 'default'; const status = getQuestionStatus(questionId); if (status === 'answered') return 'secondary'; if (status === 'marked') return 'outline'; return 'ghost'; }; return ( Question Navigator {/* Status Legend */}
Answered ({answeredQuestions.size})
Marked ({markedQuestions.size})
Not Answered ({questions.length - answeredQuestions.size})
{/* Question Grid */}
{questions.map((question, index) => ( ))}
{/* Summary */}

Progress Summary

Total Questions: {questions.length}

Answered: {answeredQuestions.size}

Remaining: {questions.length - answeredQuestions.size}

); }; export default QuestionNavigator;