Spaces:
Running
Running
| // Global functions and event listeners | |
| document.addEventListener('DOMContentLoaded', () => { | |
| // Initialize tooltips | |
| const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); | |
| tooltipTriggerList.map(function (tooltipTriggerEl) { | |
| return new bootstrap.Tooltip(tooltipTriggerEl); | |
| }); | |
| // Track user progress (mock function) | |
| if (localStorage.getItem('userProgress')) { | |
| const progress = JSON.parse(localStorage.getItem('userProgress')); | |
| console.log('User progress loaded:', progress); | |
| } else { | |
| localStorage.setItem('userProgress', JSON.stringify({ | |
| scores: [], | |
| weakTopics: [], | |
| lastSession: null | |
| })); | |
| } | |
| }); | |
| // Shared utility functions | |
| function formatTime(seconds) { | |
| const mins = Math.floor(seconds / 60); | |
| const secs = seconds % 60; | |
| return `${mins}:${secs < 10 ? '0' : ''}${secs}`; | |
| } | |
| function calculatePercentage(score, total) { | |
| return Math.round((score / total) * 100); | |
| } |