diff --git a/index.html b/index.html
index 7c33e3c..47901a4 100644
--- a/index.html
+++ b/index.html
@@ -9,7 +9,7 @@
-
Zenith - sval.tech
+ NEET APEX
@@ -1368,36 +1368,47 @@ Edit Score Bre
// --- TIMER LOGIC ---
- window.toggleTimer = function() {
- if(isTimerRunning) {
- // Pause
- clearInterval(timerInterval);
- isTimerRunning = false;
- document.getElementById('btn-timer-toggle').innerHTML = ``;
- document.getElementById('btn-timer-stop').disabled = false;
- document.getElementById('timer-active-ring').classList.remove('opacity-100', 'animate-spin-slow');
- document.getElementById('timer-active-ring').classList.add('opacity-0');
- } else {
- // Start
- isTimerRunning = true;
- timerInterval = setInterval(() => {
- timerSeconds++;
- updateTimerDisplay();
- }, 1000);
- document.getElementById('btn-timer-toggle').innerHTML = ``;
- document.getElementById('btn-timer-stop').disabled = false;
- document.getElementById('timer-active-ring').classList.remove('opacity-0');
- document.getElementById('timer-active-ring').classList.add('opacity-100', 'animate-spin-slow');
- }
- lucide.createIcons();
- }
-
- window.stopTimer = async function() {
- if(timerSeconds < 60) {
- if(!confirm("Less than 1 minute logged. Discard session?")) return;
- resetTimer();
- return;
- }
+ let timerStartTime = null; // Add this
+let timerElapsedBeforePause = 0;
+
+window.toggleTimer = function() {
+ const now = Date.now();
+ if(isTimerRunning) {
+ // Pause
+ clearInterval(timerInterval);
+ isTimerRunning = false;
+ timerElapsedBeforePause += (now - timerStartTime); // store elapsed
+ document.getElementById('btn-timer-toggle').innerHTML = ``;
+ document.getElementById('btn-timer-stop').disabled = false;
+ document.getElementById('timer-active-ring').classList.remove('opacity-100', 'animate-spin-slow');
+ document.getElementById('timer-active-ring').classList.add('opacity-0');
+ } else {
+ // Start
+ isTimerRunning = true;
+ timerStartTime = now; // store start timestamp
+ timerInterval = setInterval(() => {
+ const elapsed = Date.now() - timerStartTime + timerElapsedBeforePause;
+ timerSeconds = Math.floor(elapsed / 1000); // calculate seconds reliably
+ updateTimerDisplay();
+ }, 1000);
+ document.getElementById('btn-timer-toggle').innerHTML = ``;
+ document.getElementById('btn-timer-stop').disabled = false;
+ document.getElementById('timer-active-ring').classList.remove('opacity-0');
+ document.getElementById('timer-active-ring').classList.add('opacity-100', 'animate-spin-slow');
+ }
+ lucide.createIcons();
+}
+
+window.stopTimer = async function() {
+ if(timerSeconds < 60) {
+ if(!confirm("Less than 1 minute logged. Discard session?")) return;
+ resetTimer();
+ timerElapsedBeforePause = 0; // reset stored time
+ return;
+ }
+ timerElapsedBeforePause = 0; // reset after stop
+ resetTimer();
+}
// Save log
const duration = Math.round(timerSeconds / 60);