sozday-dlya-menya-kuiz-sayt/gun-imperiyasy.html

398 lines
25 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="kk" data-theme="auto">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>ҰБТ: Ғұн империясы</title>
<link rel="stylesheet" href="design-system/kt-ai-fonts.css">
<link rel="stylesheet" href="design-system/kt-ai-tokens.css">
<link rel="stylesheet" href="design-system/kt-ai-components.css">
<link rel="stylesheet" href="design-system/kt-ai-page.css">
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🏹</text></svg>">
<style>
.kt-ai-hero { background: linear-gradient(135deg, var(--kt-ai-bg-soft) 0%, var(--kt-ai-bg) 100%); }
.question-card { margin-bottom: var(--kt-ai-space-6); }
.options-grid { display: grid; gap: var(--kt-ai-space-3); margin-top: var(--kt-ai-space-5); }
.option-btn { text-align: left; justify-content: flex-start; padding-left: var(--kt-ai-space-4); }
.option-btn::before { content: ''; width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--kt-ai-fg-muted); margin-right: var(--kt-ai-space-3); flex-shrink: 0; display: inline-block; vertical-align: middle; }
.option-btn[data-selected="true"]::before { background: var(--kt-ai-primary); border-color: var(--kt-ai-primary); }
.option-btn.correct { background: #dcfce7 !important; border-color: #22c55e !important; color: #166534; }
.option-btn.wrong { background: #fee2e2 !important; border-color: #ef4444 !important; color: #991b1b; }
.score-display { font-size: var(--kt-ai-text-3xl); font-weight: var(--kt-ai-weight-bold); color: var(--kt-ai-primary); margin: var(--kt-ai-space-6) 0; }
.progress-bar { height: 8px; background: var(--kt-ai-bg-soft); border-radius: var(--kt-ai-radius-full); overflow: hidden; margin-bottom: var(--kt-ai-space-5); }
.progress-fill { height: 100%; background: var(--kt-ai-primary); transition: width 0.3s ease; }
.hidden { display: none; }
.fade-in { animation: fadeIn 0.4s ease; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.timer-badge { display: inline-flex; align-items: center; gap: var(--kt-ai-space-2); padding: var(--kt-ai-space-2) var(--kt-ai-space-4); background: var(--kt-ai-bg-soft); border-radius: var(--kt-ai-radius-lg); font-weight: var(--kt-ai-weight-semibold); }
.timer-badge.warning { background: #fef3c7; color: #92400e; }
.timer-badge.danger { background: #fee2e2; color: #991b1b; }
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--kt-ai-space-4); margin-bottom: var(--kt-ai-space-6); }
.stat-card { text-align: center; padding: var(--kt-ai-space-4); background: var(--kt-ai-bg-soft); border-radius: var(--kt-ai-radius-xl); }
.stat-value { font-size: var(--kt-ai-text-2xl); font-weight: var(--kt-ai-weight-bold); color: var(--kt-ai-primary); }
.stat-label { font-size: var(--kt-ai-text-sm); color: var(--kt-ai-fg-muted); }
.welcome-text { font-size: var(--kt-ai-text-lg); color: var(--kt-ai-fg-muted); margin-bottom: var(--kt-ai-space-3); }
.name-input { max-width: 400px; margin: var(--kt-ai-space-6) auto; }
.answer-feedback { margin-top: var(--kt-ai-space-4); padding: var(--kt-ai-space-3); border-radius: var(--kt-ai-radius-lg); font-weight: var(--kt-ai-weight-medium); }
.answer-feedback.correct { background: #dcfce7; color: #166534; }
.answer-feedback.wrong { background: #fee2e2; color: #991b1b; }
.topic-selector { display: flex; gap: var(--kt-ai-space-4); justify-content: center; margin-top: var(--kt-ai-space-6); flex-wrap: wrap; }
.topic-btn { min-width: 200px; }
</style>
</head>
<body>
<header class="kt-ai-pagehead">
<div class="kt-ai-wrap kt-ai-pagehead-in">
<strong>🏹 Ғұн империясы</strong>
<span class="kt-ai-spacer"></span>
<span id="header-user-name" style="color: var(--kt-ai-primary); font-weight: var(--kt-ai-weight-semibold);"></span>
<span class="kt-ai-spacer"></span>
<a class="kt-ai-btn" data-variant="ghost" href="index.html">Басқа тест</a>
<button class="kt-ai-btn" data-variant="ghost" onclick="showStartScreen()">Қайта бастау</button>
</div>
</header>
<section class="kt-ai-hero" data-align="center">
<div class="kt-ai-wrap">
<h1>Ғұн империясы</h1>
<p class="kt-ai-hero-sub">Біліміңді тексер және қайталауды ұмытпа!</p>
<div id="login-section" style="max-width: 400px; margin: var(--kt-ai-space-6) auto;">
<div class="kt-ai-field">
<label>Аты-жөніңізді енгізіңіз:</label>
<input class="kt-ai-input" id="user-name" placeholder="Мысалы: Алиев Арман" type="text">
</div>
<button class="kt-ai-btn" data-variant="primary" data-size="lg" onclick="startQuiz()" style="margin-top: var(--kt-ai-space-4);">Тестілеуді бастау</button>
</div>
<div id="welcome-section" class="hidden">
<p class="welcome-text">Қош келдіңіз, <strong id="user-display-name" style="color: var(--kt-ai-primary); font-weight: var(--kt-ai-weight-bold);"></strong>!</p>
<button class="kt-ai-btn" data-variant="primary" data-size="lg" onclick="startQuiz()">Тестілеуді бастау</button>
</div>
</div>
</section>
<section id="quiz-section" class="kt-ai-section hidden">
<div class="kt-ai-wrap" data-width="narrow">
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--kt-ai-space-4);">
<div class="timer-badge" id="timer">
⏱️ <span id="timer-value">00:00</span>
</div>
<div style="color: var(--kt-ai-fg-muted);">Сұрақ <span id="q-current">1</span> / <span id="q-total">40</span></div>
</div>
<div class="progress-bar">
<div class="progress-fill" id="progress"></div>
</div>
<div class="kt-ai-card question-card fade-in">
<h2 id="question-text" style="margin-bottom: var(--kt-ai-space-5); font-size: var(--kt-ai-text-xl);">Сұрақ мәтіні</h2>
<div class="options-grid" id="options-container"></div>
<div id="answer-feedback" class="answer-feedback hidden"></div>
</div>
<div style="display: flex; gap: var(--kt-ai-space-3); justify-content: space-between; margin-top: var(--kt-ai-space-6);">
<button class="kt-ai-btn" data-variant="ghost" id="prev-btn" onclick="prevQuestion()">← Артқа</button>
<button class="kt-ai-btn" data-variant="primary" id="next-btn" onclick="nextQuestion()">Алға →</button>
</div>
</div>
</section>
<section id="result-section" class="kt-ai-section hidden">
<div class="kt-ai-wrap" data-width="narrow">
<div class="kt-ai-card" style="text-align: center">
<h2>Тестілеу аяқталды!</h2>
<div class="stats-grid">
<div class="stat-card">
<div class="stat-value" id="correct-count">0</div>
<div class="stat-label">Дұрыс жауап</div>
</div>
<div class="stat-card">
<div class="stat-value" id="wrong-count">0</div>
<div class="stat-label">Қате жауап</div>
</div>
<div class="stat-card">
<div class="stat-value" id="percentage">0%</div>
<div class="stat-label">Нәтиже</div>
</div>
</div>
<div class="score-display" id="score">0 / 40</div>
<p id="score-message" style="color: var(--kt-ai-fg-muted); margin-bottom: var(--kt-ai-space-6); font-size: var(--kt-ai-text-lg);"></p>
<div class="kt-ai-hero-actions">
<button class="kt-ai-btn" data-variant="primary" data-size="lg" onclick="showStartScreen()">Қайта тапсыру</button>
<a class="kt-ai-btn" data-variant="ghost" data-size="lg" href="index.html" style="margin-left: var(--kt-ai-space-3);">Басқа тест</a>
</div>
</div>
</div>
</section>
<footer class="kt-ai-wrap kt-ai-pagefoot">
<span>ҰБТ 2027 жыл | Айбек Бахытжанұлы</span>
<span class="kt-ai-spacer"></span>
<span>Сәттілік тілейміз!</span>
</footer>
<script>
const QUESTIONS = [
{ q: "Ғұн империясы көшпелілер тарихында қандай орын алады?", options: ["Екінші көшпелі мемлекет", "Алғашқы көшпелі империя", "Алғашқы отырықшы мемлекет", "Ең соңғы көшпелі мемлекет"], correct: 1 },
{ q: "Ғұндар туралы негізгі дерек беретін дереккөз:", options: ["Парсы деректері", "Рим деректері", "Қытай деректері", "Грек деректері"], correct: 2 },
{ q: "Ғұндар мемлекетінің қалыптасуына негізгі әсер еткен жағдай:", options: ["Теңіз саудасының дамуы", "Көршілес тайпалық одақтар мен Қытаймен күрес", "Егіншіліктің қарқынды дамуы", "Рим империясымен одақ құру"], correct: 1 },
{ q: "Ғұн мемлекетінің басында тұрған билеуші қалай аталды?", options: ["Қаған", "Патша", "Тәңірқұт (шаньюй)", "Хан"], correct: 2 },
{ q: "Тәңірқұттың билігі қалай берілді?", options: ["Сайлау арқылы", "Әскери кеңес арқылы", "Мұрагерлікпен", "Тайпа көсемдерінің шешімімен"], correct: 2 },
{ q: "Ғұндар Тәңірқұтты қалай атаған?", options: ["«Ұлы қаған»", "«Аспан ұлы»", "«Дала әміршісі»", "«Жер патшасы»"], correct: 1 },
{ q: "Төмендегілердің қайсысы Тәңірқұттың міндетіне жатты?", options: ["Тек діни рәсімдерді басқару", "Тек мал санағын жүргізу", "Соғыс жариялау және бітім жасау", "Тек жер үлестіру"], correct: 2 },
{ q: "Ғұн мемлекетінде Тәңірқұттан кейінгі жоғары тұлғалар:", options: ["Мыңбасылар", "Жүзбасылар", "Сол жақ және оң жақ Кіші хандар", "Ақсақалдар"], correct: 2 },
{ q: "Кіші хандар қандай аумақтарды басқарды?", options: ["Солтүстік және оңтүстік аумақтарды", "Батыс және шығыс аумақтарды", "Орталық және оңтүстік аумақтарды", "Тек шекаралық аймақтарды"], correct: 1 },
{ q: "Ғұн әскеріндегі 10 мыңдық әскерді басқарған лауазым:", options: ["Мыңбасы", "Жүзбасы", "Онбасы", "Түменбасы"], correct: 3 },
{ q: "Ғұн империясында қанша түменбасы болған?", options: ["12", "18", "24", "36"], correct: 2 },
{ q: "Түменбасылар кімдерден тағайындалды?", options: ["Қарапайым жауынгерлерден", "Шетелдік билеушілерден", "Шаньюйдың туысқандарынан", "Саудагерлерден"], correct: 2 },
{ q: "Түменбасыларды кім тағайындады?", options: ["Кіші хандар", "Тайпа ақсүйектері", "Шаньюй", "Мыңбасылар"], correct: 2 },
{ q: "Ғұн қоғамындағы ер адамдардың негізгі міндеткерлігі:", options: ["Егіншілікпен айналысу", "Әскери қызмет атқару", "Сауда жасау", "Мал санағын жүргізу"], correct: 1 },
{ q: "Әскери борыштан жалтарған ғұн жауынгеріне қандай жаза қолданылды?", options: ["Айыппұл салынды", "Жерінен айырылды", "Өлім жазасына кесілді", "Құлдыққа сатылды"], correct: 2 },
{ q: "Ғұндарда тайпалардың орын ауыстыруы қалай жүзеге асты?", options: ["Әр тайпа өз бетінше көшті", "Қытайдың рұқсатымен көшті", "Шаньюйдің бұйрығынсыз орын ауыстыруға тыйым салынды", "Кіші хандардың келісімімен ғана көшті"], correct: 2 },
{ q: "Кіші хандар мен түменбасылар жылына неше рет мемлекеттік істерді талқылау үшін жиналды?", options: ["Бір рет", "Екі рет", "Үш рет", "Төрт рет"], correct: 2 },
{ q: "Адамдар мен малдың санын есептеу және тексеру қашан жүргізілді?", options: ["Көктемде", "Жазда", "Қыста", "Күзде"], correct: 3 },
{ q: "Ғұн империясының билеуші тобы кімдерден құрылды?", options: ["Құлдардан", "Ру-тайпалық ақсүйектерден", "Саудагерлерден", "Егіншілерден"], correct: 1 },
{ q: "Ақсүйектердің саяси күші неге байланысты болды?", options: ["Әскер санына", "Сауда көлеміне", "Иелік еткен жайылымдық жерлеріне", "Қытаймен қарым-қатынасына"], correct: 2 },
{ q: "Ғұн империясының үш ғасырдан астам өмір сүруіне мүмкіндік берген фактор:", options: ["Теңіз флотының болуы", "Тұрақты саяси құрылым", "Риммен одақ", "Қытайға толық тәуелділік"], correct: 1 },
{ q: "Б.з.б. 209 жылы ғұн тайпаларының билігіне келген қолбасшы:", options: ["Аттилла", "Чжи-чжи", "Мөде", "Гаоди"], correct: 2 },
{ q: "Мөде б.з.б. 209 жылы қандай аймақтардағы тайпаларды жаулап алды?", options: ["Жетісу, Сырдария, Арал", "Саян, Алтай, Жоғарғы Енисей", "Дунай, Балқан, Карпат", "Бактрия, Парфия, Хорезм"], correct: 1 },
{ q: "Қытай деректеріндегі Мөде әскерінің саны:", options: ["100 мың", "200 мың", "300 мың", "500 мың"], correct: 2 },
{ q: "«Жер дегеніміз — мемлекеттің негізі, оны қалай береміз» деген сөзді айтқан ғұн билеушісі:", options: ["Аттилла", "Мөде", "Чжи-чжи", "У-ди"], correct: 1 },
{ q: "Ғұндардың басты қарсыластарының бірі болған көшпелі мемлекет:", options: ["Үйсін", "Қаңлы", "Юэчжи", "Кушан"], correct: 2 },
{ q: "Б.з.б. 200 жылдары ғұндарға қарсы жорыққа шыққан Қытай императоры:", options: ["У-ди", "Гаоди", "Цинь Шихуанди", "Чжи-чжи"], correct: 1 },
{ q: "Гаоди ғұндармен бейбіт келісім жасау үшін не істеді?", options: ["Ғұндарға жер берді", "Қытай ханшайымын Мөдеге берді", "Ғұндарға әскер жіберді", "Юэчжилермен одақ құрды"], correct: 1 },
{ q: "Ғұндар мен юэчжилер арасындағы соғыс немен аяқталды?", options: ["Қытайдың жеңісімен", "Үйсіндердің жеңісімен", "Ғұндардың толық жеңісімен", "Бейбіт келісіммен"], correct: 2 },
{ q: "Ғұндар мен юэчжилер арасындағы соғыс б.з.б. қай жылы аяқталды?", options: ["209 жылы", "200 жылы", "165 жылы", "133 жылы"], correct: 2 },
{ q: "Б.з.б. II ғасырда ғұндардың қысымымен Солтүстік-Батыс Қытайдан Шығыс және Оңтүстік-Шығыс Қазақстанға қоныстанған тайпа:", options: ["Үйсіндер", "Қаңлылар", "Юэчжилер", "Сарматтар"], correct: 2 },
{ q: "Б.з.б. 47–46 жылдары солтүстік ғұн билеушісіне үйсіндерге қарсы күресте қолдау көрсеткен тайпа:", options: ["Юэчжилер", "Қаңлылар", "Сақтар", "Сарматтар"], correct: 1 },
{ q: "Б.з.б. I ғасырдың ортасында ғұндар қандай екі бөлікке бөлінді?", options: ["Шығыс және Батыс", "Солтүстік және Оңтүстік", "Орталық және Шеткі", "Жоғарғы және Төменгі"], correct: 1 },
{ q: "Батысқа қарай жылжыған солтүстік ғұндар II ғасырдың ортасында қандай мемлекет құрды?", options: ["Кушан", "Қаңлы", "Юэбань", "Үйсін"], correct: 2 },
{ q: "Ғұн тайпаларының әлемдік тарихи үдерістерге тигізген басты ықпалы:", options: ["Ұлы Жібек жолын қалыптастырды", "Ұлы қоныс аударуын бастады", "Кушан патшалығын құрды", "Қытай империясын жойды"], correct: 1 },
{ q: "V ғасырда Шығыс Еуропада өз мемлекетін құрған ғұндардың ұлы көсемі:", options: ["Мөде", "Чжи-чжи", "Аттилла", "Гаоди"], correct: 2 },
{ q: "Аттилла өз мемлекетін қай жерде құрды?", options: ["Орталық Азияда", "Шығыс Еуропада", "Қытайда", "Бактрияда"], correct: 1 },
{ q: "Аттилла басқарған ғұндар қай империяның үстемдігінен Еуропаны азат етті?", options: ["Қытай империясының", "Кушан империясының", "Рим империясының", "Парсы империясының"], correct: 2 },
{ q: "Дунайға дейін жетіп, Венгрияға қоныстанған тайпа:", options: ["Юэчжилер", "Үйсіндер", "Қаңлылар", "Ғұндар"], correct: 3 },
{ q: "Ғұндардың Еуропаға жасаған жорықтарының тарихи салдарының бірі:", options: ["Ұлы Жібек жолының тоқтауы", "Ұлы қоныс аударудың басталуы", "Кушан патшалығының құрылуы", "Қытайдың бірігуі"], correct: 1 }
];
let currentQuestion = 0;
let answers = {};
let quizStarted = false;
let timerInterval = null;
let seconds = 0;
let userName = '';
let answered = false;
let shuffledQuestions = [];
function shuffleArray(array) {
const shuffled = [...array];
for (let i = shuffled.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];
}
return shuffled;
}
function checkLogin() {
const savedName = localStorage.getItem('ebtUserName');
if (savedName) {
userName = savedName;
document.getElementById('login-section').classList.add('hidden');
document.getElementById('welcome-section').classList.remove('hidden');
document.getElementById('user-display-name').textContent = userName;
document.getElementById('header-user-name').textContent = userName;
}
}
function showStartScreen() {
document.getElementById('quiz-section').classList.add('hidden');
document.getElementById('result-section').classList.add('hidden');
document.querySelector('.kt-ai-hero').classList.remove('hidden');
quizStarted = false;
stopTimer();
checkLogin();
}
function startTimer() {
seconds = 0;
timerInterval = setInterval(() => {
seconds++;
const mins = Math.floor(seconds / 60);
const secs = seconds % 60;
document.getElementById('timer-value').textContent =
(mins < 10 ? '0' : '') + mins + ':' + (secs < 10 ? '0' : '') + secs;
const badge = document.getElementById('timer');
if (seconds > 600) {
badge.className = 'timer-badge danger';
} else if (seconds > 300) {
badge.className = 'timer-badge warning';
}
}, 1000);
}
function stopTimer() {
if (timerInterval) {
clearInterval(timerInterval);
timerInterval = null;
}
document.getElementById('timer').className = 'timer-badge';
}
function startQuiz() {
const nameInput = document.getElementById('user-name');
if (nameInput && nameInput.value.trim()) {
userName = nameInput.value.trim();
localStorage.setItem('ebtUserName', userName);
document.getElementById('user-display-name').textContent = userName;
document.getElementById('header-user-name').textContent = userName;
}
if (!userName) {
alert('Аты-жөніңізді енгізіңіз!');
return;
}
document.querySelector('.kt-ai-hero').classList.add('hidden');
document.getElementById('result-section').classList.add('hidden');
document.getElementById('quiz-section').classList.remove('hidden');
quizStarted = true;
currentQuestion = 0;
answers = {};
seconds = 0;
shuffledQuestions = shuffleArray(QUESTIONS);
startTimer();
document.getElementById('q-total').textContent = shuffledQuestions.length;
showQuestion();
}
function showQuestion() {
const q = shuffledQuestions[currentQuestion];
document.getElementById('q-current').textContent = currentQuestion + 1;
document.getElementById('question-text').textContent = q.q;
const container = document.getElementById('options-container');
container.innerHTML = '';
const feedback = document.getElementById('answer-feedback');
feedback.className = 'answer-feedback hidden';
answered = answers[currentQuestion] !== undefined;
const letters = ['A', 'B', 'C', 'D'];
q.options.forEach((opt, i) => {
const btn = document.createElement('button');
btn.className = 'kt-ai-btn option-btn';
btn.setAttribute('data-selected', answers[currentQuestion] === i);
btn.innerHTML = `<span style="font-weight: bold; margin-right: 8px;">${letters[i]})</span> ${opt}`;
btn.onclick = () => selectAnswer(i);
if (answered) {
btn.disabled = true;
if (i === q.correct) {
btn.classList.add('correct');
} else if (answers[currentQuestion] === i && i !== q.correct) {
btn.classList.add('wrong');
}
} else {
if (answers[currentQuestion] === i) {
btn.style.borderColor = 'var(--kt-ai-primary)';
btn.style.background = 'var(--kt-ai-bg-soft)';
} else {
btn.style.borderColor = 'var(--kt-ai-border)';
btn.style.background = 'var(--kt-ai-card-bg)';
}
}
container.appendChild(btn);
});
if (answered) {
const isCorrect = answers[currentQuestion] === q.correct;
feedback.textContent = isCorrect ? '✅ Дұрыс!' : '❌ Қате! Дұрыс жауап: ' + letters[q.correct] + ') ' + q.options[q.correct];
feedback.className = 'answer-feedback ' + (isCorrect ? 'correct' : 'wrong');
feedback.classList.remove('hidden');
}
updateProgress();
updateButtons();
}
function selectAnswer(index) {
if (answered) return;
answers[currentQuestion] = index;
showQuestion();
}
function nextQuestion() {
if (currentQuestion < QUESTIONS.length - 1) {
currentQuestion++;
showQuestion();
} else {
showResults();
}
}
function prevQuestion() {
if (currentQuestion > 0) {
currentQuestion--;
answered = false;
showQuestion();
}
}
function updateProgress() {
const progress = ((currentQuestion + 1) / QUESTIONS.length) * 100;
document.getElementById('progress').style.width = progress + '%';
}
function updateButtons() {
document.getElementById('prev-btn').style.visibility = currentQuestion === 0 ? 'hidden' : 'visible';
const nextBtn = document.getElementById('next-btn');
nextBtn.textContent = currentQuestion === QUESTIONS.length - 1 ? 'Аяқтау' : 'Алға →';
}
function showResults() {
stopTimer();
let correct = 0;
let wrong = 0;
shuffledQuestions.forEach((q, i) => {
if (answers[i] === q.correct) {
correct++;
} else {
wrong++;
}
});
const percentage = Math.round((correct / shuffledQuestions.length) * 100);
document.getElementById('quiz-section').classList.add('hidden');
document.getElementById('result-section').classList.remove('hidden');
document.getElementById('correct-count').textContent = correct;
document.getElementById('wrong-count').textContent = wrong;
document.getElementById('percentage').textContent = percentage + '%';
document.getElementById('score').textContent = `${correct} / ${QUESTIONS.length}`;
let message = '';
if (percentage >= 90) message = 'Өте жақсы! ҰБТ-ға дайынсың 🎉';
else if (percentage >= 70) message = 'Жақсы нәтиже! 👍';
else if (percentage >= 50) message = 'Жаман емес, бірақ жақсартуға болады 👌';
else message = 'Әлі де дайындалу керек 📚';
document.getElementById('score-message').textContent = message + ' | Уақыт: ' + document.getElementById('timer-value').textContent;
}
document.addEventListener('keydown', (e) => {
if (!quizStarted) return;
if (e.key === 'ArrowRight' || e.key === ' ') nextQuestion();
if (e.key === 'ArrowLeft') prevQuestion();
});
checkLogin();
</script>
</body>
</html>