(function(){ if(window.ALLOW_CODE===false) return; var morningBar = document.getElementById('remxMorning'); var eveningBar = document.getElementById('remxEvening'); var morningClose = document.getElementById('remxMorningClose'); var eveningClose = document.getElementById('remxEveningClose'); if(!morningBar || !eveningBar || !morningClose || !eveningClose) return; function todayKey(prefix){ var now = new Date(); var y = now.getFullYear(); var m = String(now.getMonth() + 1).padStart(2, '0'); var d = String(now.getDate()).padStart(2, '0'); return prefix + '_' + y + '-' + m + '-' + d; } function isDismissed(key){ return localStorage.getItem(key) === '1'; } function dismiss(key, bar){ localStorage.setItem(key, '1'); bar.hidden = true; } function nowHour(){ return new Date().getHours(); } function shouldShowMorning(){ var h = nowHour(); return (h >= 6 && h < 12); } function shouldShowEvening(){ var h = nowHour(); return (h >= 18 && h <= 23); } function render(){ var morningKey = todayKey('remx_dismiss_morning'); var eveningKey = todayKey('remx_dismiss_evening'); if(!isDismissed(morningKey) && shouldShowMorning()){ morningBar.hidden = false; } else { morningBar.hidden = true; } if(!isDismissed(eveningKey) && shouldShowEvening()){ eveningBar.hidden = false; } else { eveningBar.hidden = true; } morningClose.onclick = function(){ dismiss(morningKey, morningBar); }; eveningClose.onclick = function(){ dismiss(eveningKey, eveningBar); }; } render(); })();

حافظوا على صلاتكم

أذكار الصباح


  • اللَّهمَّ عالمَ الغيبِ والشَّهادةِ فاطرَ السَّماواتِ والأرضِ، ربَّ كلِّ شيءٍ ومليكَهُ ، أشهَدُ أن لا إلَهَ إلَّا أنتَ، أعوذُ بِكَ من شرِّ نفسي، وشرِّ الشَّيطانِ وشِركِهِ وأن أقترِفَ علَى نَفسي سوءً أو أجُرَّهُ إلى مسلِمٍ

  • اللَّهُمَّ بك أصبَحْنا وبك أمسَينا، وبك نَحْيا وبك نموتُ، وإليك النُّشورُ

  • اللَّهُمَّ أنتَ رَبِّي لا إلَهَ إلَّا أنتَ، خَلَقْتَنِي وأنا عَبدُكَ، وأنا علَى عَهْدِكَ ووَعْدِكَ ما اسْتَطَعْتُ ، أعُوذُ بكَ مِن شَرِّ ما صَنَعْتُ، أبُوءُ لكَ بنِعْمَتِكَ عَلَيَّ، وأَبُوءُ لكَ بذَنبِي فاغْفِر لِي؛ فإنَّه لا يَغْفِرُ الذُّنُوبَ إلَّا أنتَ.

  • اللهمَّ عافِني في بدني، اللهمَّ عافِني في سمعي، اللهمَّ عافِني في بصري، اللهمَّ إني أعوذُ بك من الكُفرِ والفَقرِ، اللهمَّ إني أعوذُ بك من عذابِ القبر، لا إلهَ إلَّا أنت.

  • أصبحنا على فطرةِ الإسلامِ وكلمةِ الإخلاصِ ودينِ نبيّنِا محمدٍ وملةِ أبينا إبراهيمَ حنيفًا مسلمًا وما كان من المشركين

  • اللَّهُمَّ إنِّي أسألُكَ عِلمًا نافعًا، ورِزقًا طيِّبًا، وعَملًا مُتقَبَّلًا.

  • يا حيُّ يا قيُّومُ برحمتِكَ أستغيثُ، أصلِحْ لِي شأنِي كلَّهُ، ولا تكِلنِي إلى نفسِي طرفةَ عينٍ

  • اللَّهمَّ إنِّي أسألُكَ العفوَ والعافيةَ، في الدُّنيا والآخرةِ، اللَّهمَّ إنِّي أسألُكَ العفوَ والعافيةَ، في دِيني و دُنيايَ، وأهلي ومالي، اللَّهمَّ استُر عَوراتي، و آمِن رَوعاتِي ، اللَّهمَّ احفَظْني من بينِ يديَّ ، ومن خلفي، وعن يميني، وعن شمالي، ومن فَوقِي، وأعوذُ بعظمتِكَ أن أُغْتَالَ مِن تحتي

  • اللَّهمَّ فاطرَ السَّماواتِ والأرضِ عالِمَ الغيبِ والشَّهادةِ ربَّ كلِّ شيءٍ ومليكَهُ ومالِكَهُ أشهدُ أن لا إلهَ إلَّا أنتَ أعوذُ بكَ من شرِّ نفسي ومن شرِّ الشَّيطانِ وشركِهِ وأن أقترفَ على نفسي سوءًا أو أجرَّهُ إلى مسلمٍ

  • لاَ إِلَهَ إِلَّا اللَّهُ وَحْدَهُ لاَ شَرِيكَ له، له المُلكُ وَلَهُ الحَمْدُ، وَهو علَى كُلِّ شيءٍ قَدِيرٌ

من قالها في يَومٍ مِئَةَ مَرَّةٍ، كانَت له عَدْلَ عَشْرِ رِقابٍ، وكُتِبَ له مِئَةُ حَسَنَةٍ، ومُحِيَتْ عنه مِئَةُ سَيِّئَةٍ، وكانَت له حِرزًا مِنَ الشَّيطانِ، يَومَهُ ذلكَ حتَّى يُمْسِيَ، ولَمْ يَأْتِ أحَدٌ بأَفْضَلَ ممَّا جاءَ إلَّا رَجُلٌ عَمِلَ أكْثَرَ منه.

100 مرة

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-100-1'); const numberBox = root.querySelector('.tb-small-number-100-1'); const resetBtn = root.querySelector('.tb-small-reset-100-1'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_100_1 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();
  • بسمِ اللهِ الذي لا يضُرُّ مع اسمِه شيءٌ في الأرضِ ولا في السَّماءِ وهو السَّميعُ العليمُ

من قالها ثلاثَ مرَّاتٍ، لم تَفجَأْهُ فاجِئةُ بلاءٍ حتى الليلِ، ومَن قالَها حينَ يُمسي، لم تَفجَأْهُ فاجِئةُ بلاءٍ حتى يُصبِحَ إن شاءَ اللهُ.

3 مرات

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-3-1'); const numberBox = root.querySelector('.tb-small-number-3-1'); const resetBtn = root.querySelector('.tb-small-reset-3-1'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_3_1 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();
  • سُبحَانَ اللهِ وَبِحَمْدِهِ

100 مرة

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-100-2'); const numberBox = root.querySelector('.tb-small-number-100-2'); const resetBtn = root.querySelector('.tb-small-reset-100-2'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_100_2 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();
  • سُبحَانَ اللهِ وَبِحَمْدِهِ، عَدَدَ خَلقِهِ، وَرِضَا نَفْسِهِ، وَزِنَةَ عَرشِهِ، وَمِدَادَ كَلِمَاتِهِ

3 مرات

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-3-2'); const numberBox = root.querySelector('.tb-small-number-3-2'); const resetBtn = root.querySelector('.tb-small-reset-3-2'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_3_2 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();

أذكار المساء


  • أَمْسَينَا وَأَمْسَى المُلكُ لِلَّهِ وَالْحَمْدُ لِلَّهِ، لا إلَهَ إلَّا اللَّهُ وَحْدَهُ لا شَرِيكَ له ، له المُلكُ وَلَهُ الحَمْدُ، وَهو علَى كُلِّ شَيءٍ قَدِيرٌ ، اللَّهُمَّ أَسْأَلُكَ خَيرَ هذِه اللَّيلَةِ، وَأَعُوذُ بكَ مِن شَرِّ هذِه اللَّيلَةِ وَشَرِّ ما بَعْدَهَا، اللَّهُمَّ إنِّي أَعُوذُ بكَ مِنَ الكَسَلِ وَسُوءِ الكِبَرِ، اللَّهُمَّ إنِّي أَعُوذُ بكَ مِن عَذَابٍ في النَّارِ وَعَذَابٍ في القَبرِ.

  • اللَّهمَّ بكَ أمسَينا، وبكَ أصبَحْنا، وبكَ نَحْيا، وبكَ نموتُ، وإليكَ المصيرُ.

  • اللهمَّ إني أسألُك العفوَ والعافيةَ في الدنيا والآخرةِ اللهمَّ إني أسألُك العفوَ والعافيةَ في دِيني ودنيايَ وأهلي ومالي اللهمَّ استُر عوراتي وآمِن روعاتي واحفظني من بين يدي ومن خلفي وعن يميني وعن شمالي ومن فوقي وأعوذُ بك أن أُغْتَالَ من تحتي

  • يا حيُّ يا قيُّومُ برحمتِكَ أستغيثُ، أصلِحْ لِي شأنِي كلَّهُ، ولا تكِلنِي إلى نفسِي طرفةَ عينٍ

  • اللَّهُمَّ أَنْتَ رَبِّي لاَ إِلَهَ إِلَّا أَنْت َ، خَلَقْتَنِي وَأَنَا عَبْدُكَ، وَأَنَا عَلَى عَهْدِكَ وَوَعْدِكَ مَا اسْتَطَعْتُ، أَعُوذُ بِكَ مِنْ شَرِّ مَا صَنَعْتُ، أَبُوءُ لَكَ بِنِعْمَتِكَ عَلَيَّ، وَأَبُوءُ لَكَ بِذَنْبِي فَاغْفِرْ لِي، فَإِنَّهُ لاَ يَغْفِرُ الذُّنُوبَ إِلَّا أَنْتَ

  • اللَّهُمَّ فَاطِرَ السَّمَوَاتِ وَالْأَرْضِ، عَالِمَ الْغَيْبِ وَالشَّهَادَةِ، لَا إِلَهَ إِلَّا أَنْتَ رَبَّ كُلِّ شَيْءٍ وَمَلِيكَهُ، أَعُوذُ بِكَ مِنْ شَرِّ نَفْسِي، وَمِنْ شَرِّ الشَّيْطَانِ وَشِرْكِهِ، وَأَنْ أَقْتَرِفَ عَلَى نَفْسِي سُوءًا أَوْ أَجُرَّهُ إِلَى مُسْلِمٍ

  • لاَ إِلَهَ إِلَّا اللَّهُ وَحْدَهُ لاَ شَرِيكَ له، له المُلكُ وَلَهُ الحَمْدُ، وَهو علَى كُلِّ شيءٍ قَدِيرٌ

من قالها في يَومٍ مِئَةَ مَرَّةٍ، كانَت له عَدْلَ عَشْرِ رِقابٍ، وكُتِبَ له مِئَةُ حَسَنَةٍ، ومُحِيَتْ عنه مِئَةُ سَيِّئَةٍ، وكانَت له حِرزًا مِنَ الشَّيطانِ، يَومَهُ ذلكَ حتَّى يُمْسِيَ، ولَمْ يَأْتِ أحَدٌ بأَفْضَلَ ممَّا جاءَ إلَّا رَجُلٌ عَمِلَ أكْثَرَ منه.

100 مرة

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-evening-100-1'); const numberBox = root.querySelector('.tb-small-number-evening-100-1'); const resetBtn = root.querySelector('.tb-small-reset-evening-100-1'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_evening_100_1 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();
  • بسمِ اللهِ الذي لا يضُرُّ مع اسمِه شيءٌ في الأرضِ ولا في السَّماءِ وهو السَّميعُ العليمُ

من قالها ثلاثَ مرَّاتٍ، لم تَفجَأْهُ فاجِئةُ بلاءٍ حتى الليلِ، ومَن قالَها حينَ يُمسي، لم تَفجَأْهُ فاجِئةُ بلاءٍ حتى يُصبِحَ إن شاءَ اللهُ.

3 مرات

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-evening-3-1'); const numberBox = root.querySelector('.tb-small-number-evening-3-1'); const resetBtn = root.querySelector('.tb-small-reset-evening-3-1'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_evening_3_1 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();
  • سُبحَانَ اللهِ وَبِحَمْدِهِ

100 مرة

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-evening-100-2'); const numberBox = root.querySelector('.tb-small-number-evening-100-2'); const resetBtn = root.querySelector('.tb-small-reset-evening-100-2'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_evening_100_2 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();

أذكار النوم


  • باسْمِكَ رَبِّ وضَعْتُ جَنبِي، وبِكَ أرفَعُهُ، إن أمْسَكْتَ نَفْسِي فاغْفِر لَها، وإن أرسَلتَها فاحْفَظْها بما تَحْفَظُ به عِبادَكَ الصَّالِحِينَ

  • اللَّهُمَّ قِني عَذابَكَ يومَ تَبعَثُ عِبادَكَ.

  • باسْمِكَ اللَّهُمَّ أمُوتُ وأَحْيَا

  • الحَمْدُ لِلَّهِ الذي أَطْعَمَنَا وَسَقَانَا، وَكَفَانَا وَآوَانَا ، فَكَمْ مِمَّن لا كَافِيَ له وَلَا مُؤْوِيَ.

  • اللَّهُمَّ خَلَقْتَ نَفْسِي، وَأَنتَ تَوَفَّاهَا، لكَ مَمَاتُهَا وَمَحْيَاهَا، إن أَحْيَيتَهَا فَاحْفَظْهَا، وإن أَمَتَّهَا فَاغْفِر لَهَا، اللَّهُمَّ إنِّي أَسْأَلُكَ العَافِيَةَ

  • اللَّهُمَّ أسْلَمْتُ نَفْسِي إلَيكَ، وفَوَّضتُ أمْرِي إلَيكَ، ووَجَّهْتُ وجْهِي إلَيكَ، وأَلْجَأْتُ ظَهْرِي إلَيكَ، رَغْبَةً ورَهْبَةً إلَيْكَ، لا مَلجَا ولَا مَنجَا مِنكَ إلَّا إلَيكَ، آمَنتُ بكِتَابِكَ الذي أنزَلْتَ، وبِنَبِيِّكَ الذي أرسَلتَ.

  • سُبحانَ اللهِ

٣٣ مرة

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-sleep-33-1'); const numberBox = root.querySelector('.tb-small-number-sleep-33-1'); const resetBtn = root.querySelector('.tb-small-reset-sleep-33-1'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_sleep_33_1 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();
  • الحَمْدُ لِلَّهِ

٣٣ مرة

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-sleep-33-2'); const numberBox = root.querySelector('.tb-small-number-sleep-33-2'); const resetBtn = root.querySelector('.tb-small-reset-sleep-33-2'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_sleep_33_2 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();
  • اللهُ أكْبَرُ

٣٤ مرة

0
تصفير
(function(){ const root = document.currentScript.previousElementSibling; if(!root) return; const panel = root.querySelector('.tb-small-sleep-34-1'); const numberBox = root.querySelector('.tb-small-number-sleep-34-1'); const resetBtn = root.querySelector('.tb-small-reset-sleep-34-1'); if(!panel || !numberBox || !resetBtn) return; const key = panel.dataset.key; const max = parseInt(panel.dataset.max,10); function read(){ const v = parseInt(localStorage.getItem(key) || '0',10); numberBox.textContent = isNaN(v) ? 0 : v; } function write(v){ localStorage.setItem(key, String(v)); numberBox.textContent = v; } panel.addEventListener('click', function(){ let v = parseInt(localStorage.getItem(key) || '0',10); v = isNaN(v) ? 0 : v; if(v < max){ v++; write(v); numberBox.style.animation='bump_tb_small_sleep_34_1 0.18s'; setTimeout(function(){ numberBox.style.animation=''; },180); } }); resetBtn.addEventListener('click', function(e){ e.stopPropagation(); write(0); }); read(); })();

من أدعية النبي


  • اللَّهُمَّ رَبَّنَا آتِنَا في الدُّنيَا حَسَنَةً، وفي الآخِرَةِ حَسَنَةً، وقِنَا عَذَابَ النَّارِ

  • اللَّهُمَّ إنِّي أَعُوذُ بكَ مِن شَرِّ ما عَمِلتُ، وَشَرِّ ما لَمْ أَعْمَلْ

  • اللَّهُمَّ إنِّي أَعُوذُ بكَ مِن زَوَالِ نِعْمَتِكَ، وَتَحَوُّلِ عَافِيَتِكَ ، وَفُجَاءَةِ نِقْمَتِكَ، وَجَمِيعِ سَخَطِكَ

  • اللَّهُمَّ إنِّي أَعُوذُ بكَ مِنَ العَجْزِ وَالْكَسَلِ، وَالْجُبنِ وَالْبُخْلِ، وَالْهَرَمِ، وَعَذَابِ القَبرِ

  • اللَّهُمَّ آتِ نَفْسِي تَقْوَاهَا، وَزَكِّهَا أَنتَ خَيرُ مَن زَكَّاهَا، أَنتَ وَلِيُّهَا وَمَوْلَاهَا، اللَّهُمَّ إنِّي أَعُوذُ بكَ مِن عِلمٍ لا يَنفَعُ، وَمِن قَلبٍ لا يَخْشَعُ، وَمِن نَفْسٍ لا تَشْبَعُ، وَمِن دَعْوَةٍ لا يُسْتَجَابُ لَهَا.

  • اللَّهُمَّ اغفِر لي خَطِيئَتي وجَهلِي، وإسرافِي في أمرِي، وما أنتَ أعلَمُ به مِنِّي. اللَّهُمَّ اغفر لي هَزلِي وجِدِّي وخَطايايَ وعَمدِي، وكُلُّ ذلكَ عِندِي

  • اللهم أَحسَنتَ خَلقي فأَحسِن خُلُقي

  • اللَّهُمَّ اجْعَل في قَلبِي نُورًا، وفي بَصَرِي نُورًا، وفي سَمعِي نُورًا، وعَنْ يَمِينِي نُورًا، وعَن يَسارِي نُورًا، وفَوقِي نُورًا، وتَحتي نُورًا، وأَمامِي نُورًا، وخَلفِي نُورًا، واجعَل لي نُورًا

  • اللهمَّ اكفِني بحلالِكَ عن حرامِكَ، و أغنِني بفضلِكَ عمَّن سِواكَ

الإقتراحات

معلومات


أركان الإسلام

شهادة أن لا إله إلا الله، وأن محمداً رسول الله،
وإقام الصلاة،
وإيتاء الزكاة،
وصوم رمضان،
وحج البيت لمن استطاع إليه سبيلاً.

أركان الإيمان

الإيمان بالله وملائكته،
وكتبه،
ورسله،
واليوم الآخر،
والإيمان بالقدر خيره وشره.

اسم النبي

محمد بن عبد الله بن عبد المطلب بن هاشم بن عبد مناف بن قصي بن كلاب بن مرة بن كعب بن لؤي بن غالب بن فهر بن مالك بن النضر بن كنانة بن خزيمة بن مدركة بن إلياس بن مضر بن نزار بن معد بن عدنان.

أوائل المسلمين

أول من أسلم من الرجال: أبو بكر.
أول من أسلم من النساء: خديجة.
أول من أسلم من الصبيان: علي بن أبي طالب.

الخلفاء الراشدون

أول خليفة: أبو بكر الصديق.
ثاني خليفة: عمر بن الخطاب.
ثالث خليفة: عثمان بن عفان.
رابع خليفة: علي بن أبي طالب.

(function(){ if (window.ALLOW_CODE === false) return; var wrap = document.querySelector('.infox-row-cards'); if (!wrap) return; })();

أوائل في الإسلام

أول من لقب بـ أمير المؤمنين: عمر بن الخطاب
أول سفير في الإسلام: مصعب بن عمير
أول من رمى بسهم في سبيل الله: سعد بن أبي وقاص
أول مولود للمهاجرين في المدينة: عبدالله بن الزبير

معلومات عن القرآن

عدد سور القرآن: 114 سورة
عدد أجزاء القرآن: 30 جزء
أطول سورة: البقرة
أقصر سورة: الكوثر

(function(){ if (window.ALLOW_CODE === false) return; var wrap = document.querySelector('.infox-row-cards'); if (!wrap) return; })();

اسحب للقراءة

السفردعاء السفر
سُبْحَانَ الّذِي سَخّرَ لَنَا هَذَا وَمَا كُنّا لَهُ مُقْرِنِينَ* وَإِنّا إِلَىَ رَبّنَا لَمُنْقَلِبُونَ. اللّهُمّ إِنّا نَسْأَلُكَ فِي سَفَرِنَا هَذَا الْبِرّ وَالتّقْوَىَ. وَمِنَ الْعَمَلِ مَا تَرْضَىَ. اللّهُمّ هَوّنْ عَلَيْنَا سَفَرَنَا هَذَا. وَاطْوِ عَنّا بُعْدَهُ. اللّهُمّ أَنْتَ الصّاحِبُ فِي السّفَرِ. وَالْخَلِيفَةُ فِي الأَهْلِ. اللّهُمّ إِنّي أَعُوذُ بِكَ مِنْ وَعْثَاءِ السّفَرِ، وَكَآبَةِ الْمَنْظَرِ، وَسُوءِ الْمُنْقَلَبِ، فِي الْمَالِ وَالأَهْلِ". وَإِذَا رَجَعَ قَالَهُنّ. وَزَادَ فِيهِنّ: "آيِبُونَ، تَائِبُونَ، عَابِدُونَ، لِرَبّنَا حَامِدُونَ".
المنزلالذكر عند الخروج من المنزل
اللَّهُمَّ أَعُوذُ بِكَ أَنْ أَضِلَّ، أَوْ أُضَلَّ، أَوْ أَزِلَّ، أَوْ أُزَلَّ، أَوْ أَظْلِمَ، أَوْ أُظْلَمَ، أَوْ أَجْهَلَ، أَوْ يُجْهَلَ عَلَيَّ.

إِذَا خَرَجَ الرَّجُلُ مِنْ بَيْتِهِ فَقَالَ: بِسْمِ اللَّهِ تَوَكَّلْتُ عَلَى اللَّهِ، ولاَ حَوْلَ وَلاَ قُوَّةَ إِلاَّ بِاللَّهِ. قَالَ: يُقَالُ حِينَئِذٍ: هُدِيتَ، وَكُفِيتَ، وَوُقِيتَ، فَتَتَنَحَّى لَهُ الشَّيَاطِينُ، فَيَقُولُ لَهُ شَيْطَانٌ آخَرُ: كَيْفَ لَكَ بِرَجُلٍ قَدْ هُدِيَ وَكُفِيَ وَوُقِيَ؟
آخرفُتِحَتْ لَهَا أَبْوَابُ السَّمَاءِ
اللَّهُ أَكْبَرُ كَبِيرًا، وَالْحَمْدُ لِلَّهِ كَثِيرًا، وَسُبْحَانَ اللهِ بُكْرَةً وَأَصِيلًا

بيْنَما نَحْنُ نُصَلِّي مع رَسولِ اللهِ صَلَّى اللَّهُ عليه وسلَّمَ إذْ قالَ رَجُلٌ مِنَ القَوْمِ: اللَّهُ أَكْبَرُ كَبِيرًا، وَالْحَمْدُ لِلَّهِ كَثِيرًا، وَسُبْحَانَ اللهِ بُكْرَةً وَأَصِيلًا ، فَقالَ رَسولُ اللهِ صَلَّى اللَّـهُ عليه وسلَّمَ: مِنَ القَائِلُ كَلِمَةَ كَذَا وَكَذَا؟ قالَ رَجُلٌ مَنِ القَوْمِ: أَنَا، يا رَسولَ اللهِ، قالَ: عَجِبْتُ لَهَا، فُتِحَتْ لَهَا أَبْوَابُ السَّمَاءِ قالَ ابنُ عُمَرَ: فَما تَرَكْتُهُنَّ مُنْذُ سَمِعْتُ رَسولَ اللهِ صَلَّى اللَّهُ عليه وسلَّمَ يقولُ ذلكَ.
آخرأَحَبُّ الكَلامِ إلى الله
سُبْحانَ اللهِ، والْحَمْدُ لِلَّهِ، ولا إلَهَ إلَّا اللَّهُ، واللَّهُ أكْبَرُ،

أَحَبُّ الكَلامِ إلى اللهِ أرْبَعٌ: سُبْحانَ اللهِ، والْحَمْدُ لِلَّهِ، ولا إلَهَ إلَّا اللَّـهُ، واللَّهُ أكْبَرُ، لا يَضُرُّكَ بأَيِّهِنَّ بَدَأْتَ.
آخركُتبَتْ له مِئَةُ حَسَنَة، ومُحيتْ عنْه مِئَةُ سيِّئة
لا إلَهَ إلَّا اللَّـهُ، وحْدَهُ لا شَرِيكَ له، له المُلْكُ وله الحَمْدُ، وهو علَى كُلِّ شَيءٍ قَدِيرٌ

أنَّ رَسولَ اللَّهِ صلَّى اللهُ عليه وسلَّمَ قالَ: مَن قالَ: لا إلَهَ إلَّا اللَّـهُ، وحْدَهُ لا شَرِيكَ له، له المُلْكُ وله الحَمْدُ، وهو علَى كُلِّ شَيءٍ قَدِيرٌ ، في يَومٍ مِئَةَ مَرَّةٍ؛ كانَتْ له عَدْلَ عَشْرِ رِقابٍ، وكُتِبَتْ له مِئَةُ حَسَنَةٍ، ومُحِيَتْ عنْه مِئَةُ سَيِّئَةٍ، وكانَتْ له حِرْزًا مِنَ الشَّيْطانِ يَومَهُ ذلكَ حتَّى يُمْسِيَ، ولَمْ يَأْتِ أحَدٌ بأَفْضَلَ ممَّا جاءَ به، إلَّا أحَدٌ عَمِلَ أكْثَرَ مِن ذلكَ
آخركَنْزٍ مِنْ كُنُوزِ الْجَنَّةِ
لا حَوْلَ ولَا قُوَّةَ إلَّا باللَّهِ.

كُنَّا مع النبيِّ صَلَّى اللهُ عليه وسلَّمَ في سَفَرٍ، فَكُنَّا إذَا عَلَوْنَا كَبَّرْنَا، فَقالَ النبيُّ صَلَّى اللهُ عليه وسلَّمَ: أيُّها النَّاسُ ارْبَعُوا علَى أنْفُسِكُمْ، فإنَّكُمْ لا تَدْعُونَ أصَمَّ ولَا غَائِبًا، ولَكِنْ تَدْعُونَ سَمِيعًا بَصِيرًا ثُمَّ أتَى عَلَيَّ وأَنَا أقُولُ في نَفْسِي: لا حَوْلَ ولَا قُوَّةَ إلَّا باللَّهِ، فَقالَ: يا عَبْدَ اللَّهِ بنَ قَيْسٍ، قُلْ: لا حَوْلَ ولَا قُوَّةَ إلَّا باللَّهِ، فإنَّهَا كَنْزٌ مِن كُنُوزِ الجَنَّةِ أوْ قالَ: ألَا أدُلُّكَ علَى كَلِمَةٍ هي كَنْزٌ مِن كُنُوزِ الجَنَّةِ؟ لا حَوْلَ ولَا قُوَّةَ إلَّا باللَّهِ.
آخرغُرِسَتْ له نخلةٌ في الجنَّةِ.
سُبحانَ اللهِ وبحَمْدِه

من قال : سُبحانَ اللهِ وبحَمْدِه غُرِسَتْ له به نَخلةٌ في الجنَّةِ
آخر ثَقِيلَتانِ في الميزان حبيبتان إلى الرحمن
سُبْحانَ اللَّهِ وبِحَمْدِهِ، سُبْحانَ اللَّهِ العَظِيمِ .

كَلِمَتانِ حَبِيبَتانِ إلى الرَّحْمَنِ ، خَفِيفَتانِ علَى اللِّسانِ ، ثَقِيلَتانِ في المِيزانِ: سُبْحانَ اللَّهِ وبِحَمْدِهِ، سُبْحانَ اللَّهِ العَظِيمِ .
المصيبة دعاء من أُصيب بمصيبة
إِنَّا لِلَّهِ وَإِنَّا إِلَيْهِ رَاجِعُونَ، اللَّهُمَّ أْجُرْنِي فِي مُصِيبَتِي، وَأَخْلِفْ لِي خَيْرًا مِنْهَا
الحيواناتسماع نباح الكلب ونهيق الحمر
إذا سَمِعتُمْ نُباحَ الكِلابِ، ونَهيقَ الحُمُرِ باللَّيلِ، فتعوَّذوا باللهِ؛ فإنَّهن يَرَينَ ما لا تَرَونَ
الخلاءدخول الخلاء
كانَ النبيُّ صَلَّى اللهُ عليه وسلَّمَ إذَا دَخَلَ الخَلَاءَ قالَ: اللَّهُمَّ إنِّي أعُوذُ بكَ مِنَ الخُبُثِ والخَبَائِثِ.
الخلاءالخروج من الخلاء
كانَ النَّبيُّ صلَّى اللَّهُ عليهِ وسلَّمَ إذا خرجَ منَ الخلاءِ قالَ غفرانَك
الذرية الصالحةدعاء الذرية الصالحة
رَبَّنَا هَبْ لَنَا مِنْ أَزْوَاجِنَا وَذُرِّيَّاتِنَا قُرَّةَ أَعْيُنٍ وَاجْعَلْنَا لِلْمُتَّقِينَ إِمَامًا.

رَبِّ هَبْ لِي مِن لَّدُنْكَ ذُرِّيَّةً طَيِّبَةً إِنَّكَ سَمِيعُ الدُّعَاءِ.

رَبِّ اجْعَلْنِي مُقِيمَ الصَّلاَةِ وَمِن ذُرِّيَّتِي رَبَّنَا وَتَقَبَّلْ دُعَاءِ.

رَبِّ أَوْزِعْنِي أَنْ أَشْكُرَ نِعْمَتَكَ الَّتِي أَنْعَمْتَ عَلَيَّ وَعَلَى وَالِدَيَّ وَأَنْ أَعْمَلَ صَالِحًا تَرْضَاهُ وَأَصْلِحْ لِي فِي ذُرِّيَّتِي إِنِّي تُبْتُ إِلَيْكَ وَإِنِّي مِنَ الْمُسْلِمِينَ.
الحيواناتسماع صياح الديكة ونهيق الحمار
إِذَا سَمِعْتُمْ صِيَاحَ الدِّيَكَةِ فَاسْأَلُوا اللَّهَ مِن فَضْلِهِ؛ فإنَّهَا رَأَتْ مَلَكًا، وإذَا سَمِعْتُمْ نَهِيقَ الحِمَارِ فَتَعَوَّذُوا باللَّهِ مِنَ الشَّيْطَانِ؛ فإنَّه رَأَى شيطَانًا.

window.SURAH_ALLOW = (window.ALLOW_CODE !== false); if (!window.SURAH_ALLOW) { console.warn("⛔ تم إيقاف كود السور لأن المتصفح لا يدعم الميزات المطلوبة."); }
الفاتحة
البقرة
آل عمران
النساء
المائدة
الأنعام
الأعراف
الأنفال
التوبة
يونس
هود
يوسف
الرعد
إبراهيم
الحجر
النحل
الإسراء
الكهف
مريم
طه
الأنبياء
الحج
المؤمنون
النور
الفرقان
الشعراء
النمل
القصص
العنكبوت
الروم
لقمان
السجدة
الأحزاب
سبإِ
فاطر
يس
الصافات
ص
الزمر
غافر
فصلت
الشورى
الزخرف
الدخان
الجاثية
الأحقاف
محمد
الفتح
الحجرات
ق
الذاريات
الطور
النجم
القمر
الرحمن
الواقعة
الحديد
المجادلة
الحشر
الممتحنة
الصف
الجمعة
المنافقون
التغابن
الطلاق
التحريم
الملك
القلم
الحاقة
المعارج
نوح
الجن
المزمل
المدثر
القيامة
الإنسان
المرسلات
النبإِ
النازعات
عبس
التكوير
الانفطار
المطففين
الانشقاق
البروج
الطارق
الأعلى
الغاشية
الفجر
البلد
الشمس
الليل
الضحى
الشرح
التين
العلق
القدر
البينة
الزلزلة
العاديات
القارعة
التكاثر
العصر
الهمزة
الفيل
قريش
الماعون
الكوثر
الكافرون
النصر
المسد
الإخلاص
الفلق
الناس
(function(){ if (!window.SURAH_ALLOW) return; var sInput = document.getElementById('surahSearch'); var sClear = document.getElementById('surahClear'); var sItems = Array.prototype.slice.call(document.querySelectorAll('.surah-item')); if (!sInput || !sClear || !sItems.length) return; for (var i = 0; i < sItems.length; i++) { sItems[i].addEventListener('click', function(){ var surahNum = this.getAttribute('data-surah'); if (surahNum) { window.open('https://quran.com/' + surahNum, '_blank'); } }); } function surahFilter(){ var q = (sInput.value || '').toLowerCase().trim(); for (var j = 0; j < sItems.length; j++) { var text = (sItems[j].textContent || '').toLowerCase(); sItems[j].style.display = text.indexOf(q) !== -1 ? '' : 'none'; } } sInput.addEventListener('input', surahFilter); sClear.addEventListener('click', function(){ sInput.value = ''; surahFilter(); }); surahFilter(); })();

أذكار الاستيقاظ


  • الحَمْدُ لِلَّهِ الذي أحْيانا بَعْدَ ما أماتَنا وإلَيهِ النُّشُورُ

  • الحمدُ للهِ الذي عافَانِي في جسَدِي ورَدَّ علَيَّ روحي وأذِنَ لِي بذِكْرِهِ

لحفظ الصورة اضغط عليها مطولاً

لا إله إلا الله
سبحان الله / الله أكبر
الحمد لله / لا حول ولا قوة إلا بالله

0
تصفير

ملاحظة : بعض الاجهزة والمتصفحات لاتدعم حفظ المتابعة
عند مسح الصفحة او سجل التاريخ للموقع ينمسح الحفظ

متابعة الصلوات والأذكار

(function(){ if(window.ALLOW_CODE===false)return; const wrap=document.getElementById('prayxWrap'); const reset=document.getElementById('prayxReset'); if(!wrap||!reset)return; const cards=wrap.querySelectorAll('.prayx-card'); function get(k){return localStorage.getItem(k)==='1';} function set(k,v){localStorage.setItem(k,v?'1':'0');} function render(c){ const k=c.dataset.key; if(get(k)) c.classList.add('done'); else c.classList.remove('done'); } cards.forEach(c=>{ render(c); c.addEventListener('click',()=>{ const k=c.dataset.key; set(k,!get(k)); render(c); }); }); reset.addEventListener('click',()=>{ cards.forEach(c=>{ set(c.dataset.key,false); render(c); }); }); })();

متابعة القرآن

لم يتم حفظ صفحة أو جزء بعد
(function(){ if(window.ALLOW_CODE===false) return; var overlay = document.getElementById('qprogOverlay'); var openBtn = document.getElementById('qprogOpen'); var closeBtn = document.getElementById('qprogClose'); var saveBtn = document.getElementById('qprogSave'); var resetBtn = document.getElementById('qprogReset'); var pageInput = document.getElementById('qprogPage'); var juzInput = document.getElementById('qprogJuz'); var summary = document.getElementById('qprogSummary'); if(!overlay || !openBtn || !closeBtn || !saveBtn || !resetBtn || !pageInput || !juzInput || !summary) return; var PAGE_KEY = 'qprog_page'; var JUZ_KEY = 'qprog_juz'; function readPage(){ return localStorage.getItem(PAGE_KEY) || ''; } function readJuz(){ return localStorage.getItem(JUZ_KEY) || ''; } function toArabicDigits(value){ return String(value).replace(/\d/g, function(d){ return '٠١٢٣٤٥٦٧٨٩'[d]; }); } function renderSummary(){ var page = readPage(); var juz = readJuz(); if(!page && !juz){ summary.textContent = 'لم يتم حفظ صفحة أو جزء بعد'; return; } if(page && juz){ summary.textContent = 'آخر حفظ: صفحة ' + toArabicDigits(page) + ' — الجزء ' + toArabicDigits(juz); return; } if(page){ summary.textContent = 'آخر حفظ: صفحة ' + toArabicDigits(page); return; } summary.textContent = 'آخر حفظ: الجزء ' + toArabicDigits(juz); } function syncInputs(){ pageInput.value = readPage(); juzInput.value = readJuz(); } function openSheet(){ syncInputs(); overlay.hidden = false; document.body.style.overflow = 'hidden'; } function closeSheet(){ overlay.hidden = true; document.body.style.overflow = ''; } function toEnglishDigits(value){ return String(value || '') .replace(/[٠-٩]/g, function(d){ return '٠١٢٣٤٥٦٧٨٩'.indexOf(d); }) .replace(/[۰-۹]/g, function(d){ return '۰۱۲۳۴۵۶۷۸۹'.indexOf(d); }) .trim(); } function clampValue(value, min, max){ if(value === '' || value === null) return ''; var normalized = toEnglishDigits(value); var num = parseInt(normalized, 10); if(isNaN(num)) return ''; if(num < min) num = min; if(num > max) num = max; return String(num); } renderSummary(); openBtn.addEventListener('click', openSheet); closeBtn.addEventListener('click', closeSheet); overlay.addEventListener('click', function(e){ if(e.target === overlay) closeSheet(); }); saveBtn.addEventListener('click', function(){ var page = clampValue(pageInput.value, 1, 604); var juz = clampValue(juzInput.value, 1, 30); if(page){ localStorage.setItem(PAGE_KEY, page); } else { localStorage.removeItem(PAGE_KEY); } if(juz){ localStorage.setItem(JUZ_KEY, juz); } else { localStorage.removeItem(JUZ_KEY); } pageInput.value = page; juzInput.value = juz; renderSummary(); closeSheet(); }); resetBtn.addEventListener('click', function(){ localStorage.removeItem(PAGE_KEY); localStorage.removeItem(JUZ_KEY); pageInput.value = ''; juzInput.value = ''; renderSummary(); closeSheet(); }); })();

ملاحظة : بعض الاجهزة والمتصفحات لاتدعم حفظ المتابعة
عند مسح الصفحة او سجل التاريخ للموقع ينمسح الحفظ

إحصائيات المتابعة

اختر تاريخ البداية أولًا
(function(){ if (window.ALLOW_CODE === false) return; var dateInput = document.getElementById('sflowDate'); var note = document.getElementById('sflowNote'); var statsBox = document.getElementById('sflowStats'); var resetStartBtn = document.getElementById('sflowResetStart'); var overlay = document.getElementById('sflowOverlay'); var closeBtn = document.getElementById('sflowClose'); var modalTitle = document.getElementById('sflowModalTitle'); var list = document.getElementById('sflowList'); if (!dateInput || !note || !statsBox || !resetStartBtn || !overlay || !closeBtn || !modalTitle || !list) return; var items = [ { key:'fajr', label:'الفجر' }, { key:'dhuhr', label:'الظهر' }, { key:'asr', label:'العصر' }, { key:'maghrib', label:'المغرب' }, { key:'isha', label:'العشاء' }, { key:'qiyam', label:'قيام الليل' }, { key:'morning', label:'أذكار الصباح' }, { key:'evening', label:'أذكار المساء' }, { key:'sleep', label:'أذكار النوم' }, { key:'wakeup', label:'أذكار الاستيقاظ' } ]; var startDateStr = localStorage.getItem('sflow_start_date') || ''; var currentDateStr = localStorage.getItem('sflow_current_date') || ''; function pad(n){ return String(n).padStart(2, '0'); } function toDate(str){ return new Date(str + 'T00:00:00'); } function fmt(d){ return d.getFullYear() + '-' + pad(d.getMonth()+1) + '-' + pad(d.getDate()); } function pretty(str){ var d = toDate(str); return d.getDate() + '/' + (d.getMonth()+1) + '/' + d.getFullYear(); } function dayKey(dateStr, itemKey){ return 'sflow_' + dateStr + '_' + itemKey; } function isDone(dateStr, itemKey){ return localStorage.getItem(dayKey(dateStr, itemKey)) === '1'; } function setDone(dateStr, itemKey, value){ localStorage.setItem(dayKey(dateStr, itemKey), value ? '1' : '0'); } function setInputLimits(){ if (!startDateStr) return; var startDate = toDate(startDateStr); var endOfYear = startDate.getFullYear() + '-12-31'; dateInput.min = startDateStr; dateInput.max = endOfYear; } function buildDateRange(fromStr, toStr){ var out = []; var from = toDate(fromStr); var to = toDate(toStr); while (from <= to){ out.push(fmt(from)); from.setDate(from.getDate() + 1); } return out; } function renderNote(){ if (!startDateStr){ note.textContent = 'اختر تاريخ البداية أولًا'; return; } if (!currentDateStr){ note.textContent = 'تاريخ البداية: ' + pretty(startDateStr); return; } note.textContent = 'الحساب من ' + pretty(startDateStr) + ' إلى ' + pretty(currentDateStr); } function renderStats(){ if (!startDateStr || !currentDateStr){ statsBox.innerHTML = ''; return; } var dates = buildDateRange(startDateStr, currentDateStr); statsBox.innerHTML = ''; for (var i = 0; i < items.length; i++){ var missed = 0; for (var j = 0; j < dates.length; j++){ if (!isDone(dates[j], items[i].key)) missed++; } var card = document.createElement('div'); card.className = 'sflow-stat'; var name = document.createElement('div'); name.className = 'sflow-stat-name'; if (['fajr','dhuhr','asr','maghrib','isha','qiyam'].includes(items[i].key)){ name.textContent = 'عدد عدم صلاة ' + items[i].label; } else { name.textContent = 'عدد عدم قراءة ' + items[i].label; } var num = document.createElement('div'); num.className = 'sflow-stat-num'; num.textContent = missed; card.appendChild(name); card.appendChild(num); statsBox.appendChild(card); } } function openModal(dateStr){ currentDateStr = dateStr; localStorage.setItem('sflow_current_date', currentDateStr); modalTitle.textContent = 'متابعة يوم ' + pretty(dateStr); list.innerHTML = ''; for (var i = 0; i < items.length; i++){ var btn = document.createElement('button'); btn.type = 'button'; btn.className = 'sflow-item'; if (isDone(dateStr, items[i].key)) btn.classList.add('done'); btn.setAttribute('data-item', items[i].key); var name = document.createElement('span'); name.className = 'sflow-item-name'; name.textContent = items[i].label; var mark = document.createElement('span'); mark.className = 'sflow-mark'; mark.textContent = '✓'; btn.appendChild(name); btn.appendChild(mark); btn.addEventListener('click', function(){ var itemKey = this.getAttribute('data-item'); var next = !isDone(currentDateStr, itemKey); setDone(currentDateStr, itemKey, next); if (next) this.classList.add('done'); else this.classList.remove('done'); renderNote(); renderStats(); }); list.appendChild(btn); } overlay.hidden = false; document.body.style.overflow = 'hidden'; renderNote(); renderStats(); } function closeModal(){ overlay.hidden = true; document.body.style.overflow = ''; } dateInput.addEventListener('change', function(){ if (!this.value) return; if (!startDateStr){ startDateStr = this.value; currentDateStr = this.value; localStorage.setItem('sflow_start_date', startDateStr); localStorage.setItem('sflow_current_date', currentDateStr); setInputLimits(); renderNote(); renderStats(); openModal(this.value); return; } if (this.value < startDateStr) return; openModal(this.value); }); resetStartBtn.addEventListener('click', function(){ localStorage.removeItem('sflow_start_date'); localStorage.removeItem('sflow_current_date'); startDateStr = ''; currentDateStr = ''; dateInput.value = ''; dateInput.min = ''; dateInput.max = ''; renderNote(); renderStats(); }); closeBtn.addEventListener('click', closeModal); overlay.addEventListener('click', function(e){ if (e.target === overlay) closeModal(); }); if (startDateStr){ dateInput.value = currentDateStr || startDateStr; setInputLimits(); } renderNote(); renderStats(); })();