/* Exam detail page (exam-N.html) — English UI */ const ExamDetail = ({ examNum, unlocked = true }) => { const ex = BA.EXAMS.find(e => e.num === examNum) || BA.EXAMS[0]; const isFree = ex.num === 1; // Per-skill access: only Writing & Speaking are paid for exams 2+. // For the demo we don't have a real "plan check", so default to: paid skills locked when exam !== 1. const skillIsUnlocked = (key) => window.isSkillUnlocked(ex.num, key, false); // Demo state — Exam 1 (free) shows progress, others show "ready to start" const skillsState = isFree ? [ { ...BA.SKILLS[0], status: 'done', score: '24/30', auto: true }, { ...BA.SKILLS[1], status: 'done', score: '21/29', auto: true }, { ...BA.SKILLS[2], status: 'progress', score: null, auto: true }, { ...BA.SKILLS[3], status: 'todo', score: null, auto: false }, { ...BA.SKILLS[4], status: 'todo', score: null, auto: false }, ] : BA.SKILLS.map((s, i) => ({ ...s, status: 'todo', score: null, auto: i < 3, locked: !skillIsUnlocked(s.key), })); const done = skillsState.filter(s => s.status === 'done').length; const pct = Math.round((done / 5) * 100); return ( {/* Breadcrumb */} Inicio · Exámenes · {ex.name} {/* Top */} {ex.name} {isFree && · Free} {ex.name} — Aptis General Practice Test Full simulation with the five Aptis General skills. Take the parts in any order you like — your progress saves automatically. Recommended total time: 2 h 30 min. Start with Grammar & Vocabulary View my results 2 h 30 min total CEFR A1–C1 Progress saved {isFree && ( No expiration )} {/* Progress card */} {isFree ? 'Free exam · No expiration' : 'Your progress'} {pct} % {done} of 5 skills {isFree ? ( <> Status Free · Always available Started 12 Mar 2026 Expires Never · Free exam > ) : ( <> Purchased 12 Mar 2026 Last activity — Expires 10 Jun 2026 · 86 days left > )} {/* Skills */} Exam sections Take them in any order. Each section saves automatically when you submit. {skillsState.map((s, i) => { const ic = SkillIconForKey(s.key); return ( Section {i + 1} {s.name} {s.meta} {s.status === 'done' && ( Completed · {s.score} )} {s.status === 'progress' && ( In progress )} {s.status === 'todo' && ( Not started )} {s.status === 'done' ? 'Review' : s.status === 'progress' ? 'Continue' : 'Start'} {!s.auto && ( Human marking · response in 24 h )} ); })} {/* Tips */} Tip How to get the most out of this simulation Try to do all sections in a single sitting — it simulates real exam conditions. For Listening, play each audio a maximum of twice. Don't read the questions until after the first listen. In Writing, respect the word limits — length counts as much as content. In Speaking, speak naturally. Clear, direct answers beat long answers full of hesitations. ); }; window.ExamDetail = ExamDetail;
Full simulation with the five Aptis General skills. Take the parts in any order you like — your progress saves automatically. Recommended total time: 2 h 30 min.
Take them in any order. Each section saves automatically when you submit.