SolarumAsteridion commited on
Commit
70c6ca9
·
verified ·
1 Parent(s): ff8268d

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +11 -22
index.html CHANGED
@@ -116,9 +116,16 @@
116
 
117
  // --- Rendering ---
118
  const calculateDaysUntil = (examDate) => {
119
- const today = new Date();
120
- today.setHours(0, 0, 0, 0); // Normalize to midnight
121
- return Math.ceil((new Date(examDate) - today) / 86400000); // 1000*60*60*24
 
 
 
 
 
 
 
122
  };
123
 
124
  const renderExams = (exams) => {
@@ -138,7 +145,7 @@
138
  <h3 class="exam-name">${exam.name}</h3>
139
  <div class="countdown" style="color: ${color};">${daysUntil}</div>
140
  <div class="countdown-label">days remaining</div>
141
- <div class="exam-date">${new Date(exam.date).toLocaleDateString('en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}</div>`;
142
 
143
  card.querySelector('.delete-btn').addEventListener('click', () => deleteExam(exam.id));
144
  elements.examsGrid.appendChild(card);
@@ -155,24 +162,6 @@
155
  }
156
  elements.particlesContainer.innerHTML = particleHtml;
157
  };
158
-
159
- // ===================================================================================
160
- // START: ONE-TIME MANUAL IMPORT FUNCTION
161
- // TO USE: Open developer console (F12) and type `runManualImport()` then press Enter.
162
- // AFTER RUNNING ONCE, DELETE THIS ENTIRE FUNCTION FROM YOUR CODE.
163
- // ===================================================================================
164
- window.runManualImport = function() {
165
- const data = [{"name":"NSEA","date":"2025-11-22"},{"name":"NSEP","date":"2025-11-23"},{"name":"IMO ","date":"2025-11-28"},{"name":"NSO ","date":"2025-12-11"},{"name":"IEO ","date":"2025-11-26"},{"name":"Mathematics Boards","date":"2026-02-17"},{"name":"Science Boards","date":"2026-02-25"},{"name":"ISSO ","date":"2025-11-20"},{"name":"Periodic Test 2","date":"2025-11-03"},{"name":"Pre-Boards 2 ","date":"2026-01-19"},{"name":"Pre-Boards 1","date":"2025-12-29"},{"name":"English Boards","date":"2026-02-21"},{"name":"IT Boards","date":"2026-02-27"},{"name":"Hindi Boards","date":"2026-03-02"},{"name":"Social Science Boards","date":"2026-03-07"}];
166
- console.log(`Starting import of ${data.length} exams...`);
167
- const promises = data.map(exam => push(examsRef, { name: exam.name, date: exam.date }));
168
- Promise.all(promises)
169
- .then(() => alert(`Successfully imported ${data.length} exams to Firebase.`))
170
- .catch(err => console.error("IMPORT FAILED:", err));
171
- };
172
- // ===================================================================================
173
- // END OF IMPORT FUNCTION - REMOVE AFTER USE
174
- // ===================================================================================
175
-
176
  // --- App Initialization ---
177
  createParticles();
178
  elements.examDateInput.min = new Date().toISOString().split('T')[0];
 
116
 
117
  // --- Rendering ---
118
  const calculateDaysUntil = (examDate) => {
119
+ const now = new Date();
120
+ const todayIST = new Date(now.toLocaleString('en-US', { timeZone: 'Asia/Kolkata' }));
121
+ todayIST.setHours(0, 0, 0, 0);
122
+
123
+ const targetDate = new Date(examDate);
124
+ // The date from the input is already in the user's local timezone,
125
+ // but we treat it as a date in IST for calculation.
126
+ const targetDateIST = new Date(targetDate.getFullYear(), targetDate.getMonth(), targetDate.getDate());
127
+
128
+ return Math.ceil((targetDateIST - todayIST) / 86400000); // 1000*60*60*24
129
  };
130
 
131
  const renderExams = (exams) => {
 
145
  <h3 class="exam-name">${exam.name}</h3>
146
  <div class="countdown" style="color: ${color};">${daysUntil}</div>
147
  <div class="countdown-label">days remaining</div>
148
+ <div class="exam-date">${new Date(exam.date).toLocaleDateString('en-IN', { timeZone: 'Asia/Kolkata', weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' })}</div>`;
149
 
150
  card.querySelector('.delete-btn').addEventListener('click', () => deleteExam(exam.id));
151
  elements.examsGrid.appendChild(card);
 
162
  }
163
  elements.particlesContainer.innerHTML = particleHtml;
164
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
165
  // --- App Initialization ---
166
  createParticles();
167
  elements.examDateInput.min = new Date().toISOString().split('T')[0];