import { Link } from 'react-router-dom'; /** * @param {{ review: { * testTitle?: string, * attempterName?: string, * attempterLogin?: string, * startedAt?: string, * completedAt?: string, * correctCount: number, * totalQuestions: number, * percent: number, * passed: boolean, * passingThreshold: number, * questions: Array<{ * id: string, * text: string, * isUserCorrect: boolean, * options: Array<{ id: string, text: string, isCorrect: boolean, selected: boolean }> * }> * }, showAttempter?: boolean, backLink: { to: string, label: string } }} p */ export default function AttemptReviewBlock({ review, showAttempter, backLink }) { if (!review?.questions?.length) { return null; } return (
{showAttempter && (review.attempterName || review.attempterLogin) && (

Участник: {review.attempterName || '—'}{' '} {review.attempterLogin && ( {review.attempterLogin} )}

)} {review.completedAt && (

Завершено: {new Date(review.completedAt).toLocaleString('ru-RU')}

)}
    {review.questions.map((q, i) => (
  1. {i + 1}. {q.text}

    {q.isUserCorrect ? 'Верно' : 'Ошибка'}

      {q.options.map((o) => { const mark = o.selected && o.isCorrect ? '✓ верно' : o.selected && !o.isCorrect ? '✗ выбрано' : !o.selected && o.isCorrect ? '— правильный вариант' : ''; return (
    • {o.text} {mark && ( {mark} )}
    • ); })}
  2. ))}
{backLink && (

{backLink.label}

)}
); }