`;
tbody.appendChild(tr);
});
}
function filterCities(q) {
const needle = q.trim().toLowerCase();
$$(‘#tbody-villes tr’).forEach(tr => {
tr.style.display = (!needle || tr.dataset.label.includes(needle)) ? ” : ‘none’;
});
}
async function loadAllCities(dateStr, onProgress) {
const results = {};
let done = 0;
const total = VILLES_MAROC.length;
const limit = 8; // حد التزامن من أجل الأداء
const queue = VILLES_MAROC.map(v => v);
async function worker() {
while (queue.length) {
const v = queue.shift();
try {
const t = await fetchTimings(v.city, dateStr);
results[v.label] = t;
} catch {
results[v.label] = { Fajr: ‘—’, Sunrise: ‘—’, Dhuhr: ‘—’, Asr: ‘—’, Maghrib: ‘—’, Isha: ‘—’ };
} finally {
done++;
onProgress(Math.round((done / total) * 100));
}
}
}
await Promise.all(Array.from({ length: limit }, worker));
return results;
}
function renderAllCitiesTable(results) {
$$(‘#tbody-villes tr’).forEach(tr => {
const label = tr.querySelector(‘td strong’).textContent;
const times = results[label];
if (!times) return;
[‘Fajr’,’Sunrise’,’Dhuhr’,’Asr’,’Maghrib’,’Isha’].forEach(k => {
const td = tr.querySelector(`td[data-k=”${k}”]`);
if (td) td.textContent = times[k] || ‘—’;
});
});
}
/* ===============================
تهيئة واجهة المستخدم
=============================== */
function initUI() {
// ملء اختيار المدن
const select = $(‘#select-ville’);
VILLES_MAROC.forEach((v, i) => {
const opt = document.createElement(‘option’);
opt.value = v.city;
opt.textContent = v.label;
if (v.label === ‘Casablanca’) opt.selected = true;
select.appendChild(opt);
});
// تاريخ اليوم افتراضياً (صيغة YYYY-MM-DD)
const today = new Date();
const yyyy = today.getFullYear();
const mm = String(today.getMonth() + 1).padStart(2, ‘0’);
const dd = String(today.getDate()).padStart(2, ‘0’);
$(‘#input-date’).value = `${yyyy}-${mm}-${dd}`;
// تهيئة الجدول
initAllCitiesRows();
// مستمعو الأحداث
$(‘#btn-actualiser’).addEventListener(‘click’, updateMainCard);
$(‘#select-ville’).addEventListener(‘change’, updateMainCard);
$(‘#input-date’).addEventListener(‘change’, () => {
updateMainCard();
// إذا أعاد المستخدم تحميل جميع المدن بعد تغيير التاريخ، سيتم احتساب ذلك
});
$(‘#filtre-ville’).addEventListener(‘input’, (e) => filterCities(e.target.value));
const progressBar = $(‘#progress-bar’);
const srProgress = $(‘#sr-progress’);
function setProgress(pct) {
progressBar.style.width = `${pct}%`;
srProgress.textContent = `التقدم ${pct}%`;
}
$(‘#btn-charger-toutes’).addEventListener(‘click’, async () => {
const date = $(‘#input-date’).value ? fromInputDate($(‘#input-date’).value) : new Date();
const dateStr = toDDMMYYYY(date);
setProgress(0);
$(‘#btn-charger-toutes’).setAttribute(‘disabled’, ‘true’);
try {
const results = await loadAllCities(dateStr, setProgress);
renderAllCitiesTable(results);
} catch (e) {
alert(‘حدث خطأ أثناء تحميل المواقيت لجميع المدن.’);
} finally {
$(‘#btn-charger-toutes’).removeAttribute(‘disabled’);
setProgress(100);
setTimeout(() => setProgress(0), 800);
}
});
// العرض الأول (الدار البيضاء)
updateMainCard();
}
document.addEventListener(‘DOMContentLoaded’, initUI);
مواقيت الصلاة في الرباط : جداول يومية وتفاصيل لحظية
في الرباط، يتم الاطلاع على مواقيت الصلاة الدقيقة من خلال خدمة محدثة باستمرار، تضمن الموثوقية والوصول لأكبر عدد ممكن. المواقيت المذكورة (الفجر : 05:17، الشروق : 06:38، الظهر : 13:37، العصر : 17:12، المغرب : 20:28، العشاء : 21:48) تعتمد على رابطة العالم الإسلامي وطريقة الشافعي لصلاة العصر، مما يضمن التوافق مع ممارسات المدينة.
تحديث آلي للمواقيت
دقة ملائمة للاحتياجات اليومية
مواقيت الصلاة الدقيقة اليوم في الرباط : الفجر، الشروق، الظهر، العصر، المغرب، العشاء
لليوم، كل صلاة مفصلة بالدقيقة. مثال عملي : صلاة العصر عند 17:12، بينما تأتي صلاة المغرب عند غروب الشمس في 20:28.
الإشعار بالصلاة القادمة
توفير التاريخ الهجري المقابل : 1446-10-28
تسهل المواقيت المقترحة تنظيم الحياة اليومية وتكرم البعد الروحي.
طرق حساب المواقيت في الرباط : رابطة العالم الإسلامي وطريقة الشافعي للعصر
تضمن تبني رابطة العالم الإسلامي مرجعية معترف بها عبر المغرب، مناسبة لخصوصية الرباط. لطريقة العصر، تضمن الطريقة الشافعية احترام اختلافات التفسير. يعزز هذا الخيار المنهجي ثقة المصلين، الذين يستفيدون :
من إطار رسمي مطبق محلياً
من تكيّف سهل مع كل وضع حضري
تستجيب هذه المقاربة التقنية بدقة لتوقعات المجتمع.
استعراض الصلاة القادمة وعرض التاريخ الهجري في الوقت الحقيقي
بفضل واجهة ديناميكية، يتم تسليط الضوء دائماً على وقت الصلاة القادمة. مثلاً، إذا اقترب المغرب، يتوقع الأداة ويعلم بالوقت المتبقي. يثري تحويل التقويم الغريغوري إلى الهجري التجربة، معززاً الصلة الثقافية. في كل لحظة، يمكن للمستخدم التحقق من :
الصلاة التي لا يجب تفويتها
معرفة التاريخ بدقة وفق التقويمين
تسهل هذه الخاصية التنظيم عبر جميع الأيام.
تفاوت مواقيت الصلاة على مدى 30 يوماً في الرباط : تطور، دقة وتغطية وطنية
تتغير المواقيت مع تغير الفصول، مما يتطلب متابعة دقيقة. يستخدم مصلٍ مثل سمير، موظف في إدارة الرباط، هذه الخدمات لمواءمة إيقاعه المهني والالتزامات الدينية.
متابعة سهلة لتقدم المواقيت
تخطيط مبسط لأوقات الصلاة على مدى أيام عدة
البعد الوطني يضمن التناسق لكل منطقة.
تقدم المواقيت على 30 يوماً : فهم التغيرات لكل صلاة
في الربيع، مثلاً، يتأخر الفجر تدريجياً، مما يؤثر على وقت الاستيقاظ. مراقبة هذا التقدم ضروري للتنبؤ والحفاظ على انتظام الصلوات، حتى أثناء التنقل في المدينة.
تحويل التقويم الغريغوري/الهجري : إثراء فهم وقت الصلاة
توفر المطابقة بين التقويمين قيمة مضافة، خصوصاً خلال الأعياد الدينية أو المناسبات التقليدية في الرباط. تُمكّن هذه التحويلات من تخطيط أفضل للجدول الروحي والعائلي.
مواقيت الصلاة لجميع مدن المغرب : موثوقية ومرجعية للرباط وللبلاد
أخيراً، تُقدم الخدمة وصولاً إلى مواقيت جميع المدن على التراب الوطني، بنفس الدقة كالمرجعية في الرباط. تشكّل هذه التغطية الوطنية مرجعاً يعزز ثقة وتماسك المصلين عبر المغرب.