-
Notifications
You must be signed in to change notification settings - Fork 655
Expand file tree
/
Copy pathend.js
More file actions
70 lines (59 loc) · 2.43 KB
/
end.js
File metadata and controls
70 lines (59 loc) · 2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// DOM Elements
const finalScore = document.getElementById('finalScore');
const correctAnswersEl = document.getElementById('correctAnswers');
const totalQuestionsEl = document.getElementById('totalQuestions');
const percentageScoreEl = document.getElementById('percentageScore');
const feedbackMessage = document.getElementById('feedbackMessage');
const usernameInput = document.getElementById('username');
const saveScoreBtn = document.getElementById('saveScoreBtn');
const saveScoreForm = document.getElementById('saveScoreForm');
// Get results from localStorage
const mostRecentScore = localStorage.getItem('mostRecentScore');
const correctAnswers = localStorage.getItem('correctAnswers');
const totalQuestions = localStorage.getItem('totalQuestions');
const percentageScore = localStorage.getItem('percentageScore');
// High Scores
const highScores = JSON.parse(localStorage.getItem('highScores')) || [];
const MAX_HIGH_SCORES = 5;
// Display results
finalScore.innerText = mostRecentScore;
correctAnswersEl.innerText = correctAnswers;
totalQuestionsEl.innerText = totalQuestions;
percentageScoreEl.innerText = percentageScore;
// Add feedback based on percentage
const percentage = parseInt(percentageScore);
if (percentage >= 90) {
feedbackMessage.innerText = "Excellent! 🎉";
} else if (percentage >= 70) {
feedbackMessage.innerText = "Good job! 👍";
} else if (percentage >= 50) {
feedbackMessage.innerText = "Not bad! 😊";
} else {
feedbackMessage.innerText = "Keep practicing! 💪";
}
// Enable save button when username is entered
usernameInput.addEventListener('keyup', () => {
saveScoreBtn.disabled = !usernameInput.value;
});
// Save high score
saveScoreForm.addEventListener('submit', (e) => {
e.preventDefault();
const score = {
score: mostRecentScore,
correctAnswers: correctAnswers,
totalQuestions: totalQuestions,
percentage: percentageScore,
name: usernameInput.value,
date: new Date().toLocaleDateString()
};
highScores.push(score);
highScores.sort((a, b) => b.score - a.score);
highScores.splice(MAX_HIGH_SCORES);
localStorage.setItem('highScores', JSON.stringify(highScores));
// Disable form after submission
usernameInput.disabled = true;
saveScoreBtn.disabled = true;
// Show confirmation
feedbackMessage.textContent = `Score saved for ${usernameInput.value}!`;
feedbackMessage.style.color = "#4CAF50";
});