1 Aylık Rize Namaz Vakitleri
`;
}
}
function setupDailyRefresh() {
const now = new Date();
const tomorrow = new Date(now);
tomorrow.setDate(tomorrow.getDate() + 1);
tomorrow.setHours(0, 0, 0, 0);
const timeUntilMidnight = tomorrow - now;
setTimeout(() => {
getPrayerTimes();
initializeCalendar();
setupDailyRefresh(); // Setup next day's refresh
}, timeUntilMidnight);
}
function updatePrayerTimes(times) {
const cards = document.getElementsByClassName('prayer-card');
cards[0].querySelector('.prayer-time').textContent = times.imsak;
cards[1].querySelector('.prayer-time').textContent = times.gunes;
cards[2].querySelector('.prayer-time').textContent = times.ogle;
cards[3].querySelector('.prayer-time').textContent = times.ikindi;
cards[4].querySelector('.prayer-time').textContent = times.aksam;
cards[5].querySelector('.prayer-time').textContent = times.yatsi;
}
function highlightCurrentPrayer() {
const cards = document.getElementsByClassName('prayer-card');
const now = new Date();
const currentTime = now.getHours() * 60 + now.getMinutes();
Array.from(cards).forEach(card => {
card.classList.remove('active', 'next-prayer');
});
let currentIndex = -1;
for (let i = 0; i < cards.length; i++) {
const timeStr = cards[i].querySelector('.prayer-time').textContent;
if (timeStr === '--:--') continue;
const [hours, minutes] = timeStr.split(':').map(Number);
const prayerTime = hours * 60 + minutes;
if (currentTime >= prayerTime) {
currentIndex = i;
} else {
cards[i].classList.add('next-prayer');
if (currentIndex !== -1) {
cards[currentIndex].classList.add('active');
}
return;
}
}
if (currentIndex === cards.length - 1) {
cards[currentIndex].classList.add('active');
cards[0].classList.add('next-prayer');
}
}
function updateCountdown() {
const cards = document.getElementsByClassName('prayer-card');
const now = new Date();
const currentTime = now.getHours() * 60 + now.getMinutes();
let nextPrayerCard = Array.from(cards).find(card => card.classList.contains('next-prayer'));
if (nextPrayerCard) {
const timeStr = nextPrayerCard.querySelector('.prayer-time').textContent;
const prayerName = nextPrayerCard.querySelector('.prayer-name').textContent;
document.getElementById('countdown-label').textContent = `${prayerName} Vaktine Kalan Süre`;
if (timeStr !== '--:--') {
const [hours, minutes] = timeStr.split(':').map(Number);
let prayerTime = hours * 60 + minutes;
if (prayerTime < currentTime) {
prayerTime += 24 * 60;
}
const diffMinutes = prayerTime - currentTime;
const remainingHours = Math.floor(diffMinutes / 60);
const remainingMinutes = diffMinutes % 60;
const seconds = 59 - now.getSeconds();
document.getElementById('main-countdown').textContent =
`${String(remainingHours).padStart(2, '0')}:${String(remainingMinutes).padStart(2, '0')}:${String(seconds).padStart(2, '0')}`;
}
}
}
async function getMonthlyPrayerTimes() {
const today = new Date();
const endDate = new Date(today);
endDate.setDate(today.getDate() + 30);
const prayerTimes = [];
let currentDate = new Date(today);
while (currentDate <= endDate) {
try {
const dateStr = currentDate.toISOString().split('T')[0];
const response = await fetch(`https://api.aladhan.com/v1/timingsByCity/${dateStr}?city=Rize&country=Turkey&method=13`);
const data = await response.json();
const timings = data.data.timings;
prayerTimes.push({
date: new Date(currentDate),
times: {
imsak: timings.Fajr,
gunes: timings.Sunrise,
ogle: timings.Dhuhr,
ikindi: timings.Asr,
aksam: timings.Maghrib,
yatsi: timings.Isha
}
});
currentDate.setDate(currentDate.getDate() + 1);
} catch (error) {
console.error('Prayer times fetch error:', error);
break;
}
}
return prayerTimes;
}
function formatDate(date) {
const today = new Date().toDateString();
if (date.toDateString() === today) {
return 'Bugün';
}
return date.toLocaleDateString('tr-TR', {
day: 'numeric',
month: 'long',
weekday: 'long'
});
}
function createTable(prayerTimes) {
const displayTimes = prayerTimes; // Show all times, no slicing
const today = new Date().toDateString();
let html = `
| Tarih |
İmsak |
Güneş |
Öğle |
İkindi |
Akşam |
Yatsı |
`;
displayTimes.forEach(day => {
const isToday = day.date.toDateString() === today;
html += `
| ${formatDate(day.date)} |
${day.times.imsak} |
${day.times.gunes} |
${day.times.ogle} |
${day.times.ikindi} |
${day.times.aksam} |
${day.times.yatsi} |
`;
});
html += '
';
return html;
}
async function initializeCalendar() {
const monthlyPrayerTimes = await getMonthlyPrayerTimes();
displayCalendar(monthlyPrayerTimes);
}
function displayCalendar(prayerTimes) {
const calendarElement = document.getElementById('prayer-calendar');
calendarElement.innerHTML = createTable(prayerTimes);
}
document.addEventListener('DOMContentLoaded', () => {
getPrayerTimes();
highlightCurrentPrayer();
updateCountdown();
initializeCalendar();
setupDailyRefresh();
setInterval(() => {
highlightCurrentPrayer();
updateCountdown();
}, 1000);
});