import React, { useState, useRef, useEffect, useMemo, useCallback, useLayoutEffect } from 'react'; import { createRoot } from 'react-dom/client'; import { Play, Pause, Upload, Settings, Layers, Video, Music, Wand2, Clock, Scissors, Sparkles, BookOpen, Trophy, CheckCircle2, AlertCircle, Cpu, Loader2, ListMusic, Palette, Search, X, Check, Edit3, Save, Download, Image as ImageIcon, Type, AlignVerticalJustifyCenter, Move, Lock, Code2, Film, FileAudio, Heart, RefreshCcw, FileJson, UploadCloud, AlertTriangle, ShieldAlert, BadgeCheck, Grid, FolderOpen, MonitorPlay, Volume2, Volume1, VolumeX, Headphones, Dna, MapPin, ChevronRight, ChevronLeft, HelpCircle, LayoutTemplate, Monitor, Copy, Trash2, GripVertical, MoreVertical, ChevronUp, ChevronDown, PanelTopClose, PanelBottomOpen, ArrowRight, Hash, Layout, LayoutGrid, RotateCcw, RotateCw, Maximize, ZoomIn, MoveHorizontal, MoveVertical } from 'lucide-react'; import Cropper from 'react-easy-crop'; // لا تُعطَّل وظائف المتصفح أو أدوات الوصول عالميًا. حماية الأسرار // والعمليات الحساسة تقع على الخادم، لا عبر حجب الاختصارات أو النسخ. /* ═══════════════════════════════════════════════════════════════════ مصيدة أدوات المطوّر — أُزيلت في المرحلة 5 ═══════════════════════════════════════════════════════════════════ كانت: `debugger;` كل 4 ثوان، وإن تجاوز الفارق 160ms تُمسح `document.body.innerHTML` وتُستبدل بشاشة خطأ. أُزيلت لثلاثة أسباب، أوّلها وحده كافٍ: 1) **المسح غير قابل للرجوع.** إفراغ `body` يهدم جذر React وكل حالة العمل معه. لا يكفي إغلاق الأدوات ولا `setInterval` آخر: المستخدم أمام شاشة ميتة، وأي مقطع لم يُصدَّر ضاع. عقوبةُ خطأٍ في الكشف هنا أثقل من الشيء الذي يُفترض أنه يحميه. 2) **الكشف يخطئ على الأجهزة التي وعدنا بدعمها.** القياس هو الفارق بين `performance.now()` قبل `debugger` وبعده — أي أنه يقيس *أي* تجميدٍ للخيط في تلك اللحظة، لا وجود الأدوات. ووقفة GC أو خنقٌ حراري على جهاز أندرويد 6-7 تبلغ 160ms بلا عناء. والأسوأ: عند تصغير التطبيق (الانتقال إلى تطبيق آخر) قد يُجمِّد Chrome الـrenderer بين السطرين، فيعود المستخدم من مكالمةٍ أثناء تصدير طويل ليجد تطبيقه مهدومًا. وهذا ليس افتراضًا نظريًّا: هو أكثر سلوكٍ متوقَّع على الهاتف. 3) **لا تُضيف أمانًا.** الكود يُخدَم نصًّا عامًّا لكل زائر؛ من أراد قراءته يقرأه من "عرض المصدر" أو من الشبكة بلا أدوات مطوّر. الحماية الحقيقية محلّها الخادم (انظر ملاحظة التوكن أدناه). بقي `window._devtoolsCheckPaused` بلا تعريف بقصد: مواضع نداءه الثلاثة في كود التصدير محروسة بـ`if (window._devtoolsCheckPaused)`، فتصير بلا أثر تلقائيًّا. (حُذفت هي أيضًا في المرحلة نفسها.) أُزيل مفتاح Google من العميل. التحليل التلقائي يمر الآن عبر `quran-analysis.php` الذي يفرض حدود الملف والنطاق والتحقق من النص. ═══════════════════════════════════════════════════════════════════ */ const CANVAS_WIDTH = 1080, CANVAS_HEIGHT = 1920; const QURAN_ANALYSIS_ENDPOINT = './quran-analysis.php'; const FONTS = [{ name: 'UthmanicHafs', label: 'عثماني حفص', css: "'Uthmanic Hafs', serif" }, { name: 'Tajawal', label: 'تجوّل', css: "'Tajawal', sans-serif" }, { name: 'Cairo', label: 'كايرو', css: "'Cairo', sans-serif" }, { name: 'Amiri', label: 'أميري', css: "'Amiri', serif" }]; const DEFAULT_AYAH_STYLE = { x: CANVAS_WIDTH / 2, y: CANVAS_HEIGHT / 2, size: 71, color: '#ffffff', shadowColor: '#000000', shadowOpacity: 0.5, font: FONTS[0].css, fontWeight: 'normal', animation: 'fade' }; const DEFAULT_WATERMARK = { text: "@wadl6", x: CANVAS_WIDTH / 2, y: CANVAS_HEIGHT - 200, size: 30, color: '#ffffff', font: FONTS[1].css, visible: true, opacity: 0.75 }; const DEFAULT_OVERLAY = { type: 'color', value: '#000000', colorOpacity: 0.4, imageOpacity: 0.3, imageSrc: null }, DEFAULT_BRANDING = false; const EXPORT_DUAS = [ // --- للوالدين (بر وإحسان) --- "اللهم اغفر لوالدي صاحب الموقع، وارحمهما رحمة واسعة، واجعل هذا العمل في ميزان حسناتهما، وارفعهما به درجات في الجنة.", "اللهم حرّم وجه والدي صاحب الموقع على النار، واجزهما عنه خير الجزاء، واجمع شملهما في الفردوس الأعلى مع النبيين والصديقين.", // --- لصاحب الموقع --- "اللهم صبّ الرزق والخير على صاحب الموقع صبّاً، واكتب له التوفيق في كل خطوة، واكفه بحلالك عن حرامك وبفضلك عمن سواك.", "اللهم اشرح صدر صاحب الموقع للإيمان، ويسّر أمره، وثبّته على الحق، واجعل القرآن العظيم ربيع قلبه ونور بصره.", // --- للزوجة (خاص ومنفصل) --- "اللهم احفظ لصاحب الموقع زوجتَه، وأدم بينهما المودة والرحمة والسكينة، واجعلها له نِعم العون على طاعتك ورضاك.", "اللهم بارك لصاحب الموقع في أهله، وألبسهم ثوب الصحة والعافية، واجعل بيته عامراً بذكرك وشكرك وحسن عبادتك.", // --- للذرية (خاص ومنفصل) --- "اللهم هب لصاحب الموقع ذرية طيبة صالحة، واجعلهم من حفظة كتابك، والعاملين به، وقرّ عينه بصلاحهم في الدنيا والآخرة.", // تم تعديل "والعاملين" حسب طلبك "اللهم اجعل ذرية صاحب الموقع مباركة أينما كانت، واحفظهم من الفتن ما ظهر منها وما بطن، واجعلهم للمتقين إماماً.", // --- للأصدقاء (طارق وعمر) --- "اللهم افتح على صديقي (طارق) فتوحاً مبيناً، وسخّر له ملائكة السماء وجنود الأرض، واكتب له النجاح حليفاً في كل أمر.", "اللهم أسعد صديقي (عمر) سعادة الدارين، وبارك له في عمره وعمله، ووفقه لما تحب وترضى، واجعل الخير كله في نصيبه.", // --- للمسلمين عامة --- "اللهم اغفر للمسلمين والمسلمات، والمؤمنين والمؤمنات، الأحياء منهم والأموات، وأصلح ذات بينهم، وألّف بين قلوبهم.", // --- القبول والختام --- "اللهم تقبل هذا العمل من صاحب الموقع خالصاً لوجهك الكريم، واجعله لوجهك خالصاً، لا رياء فيه ولا سمعة.", "اللهم اجمع صاحب الموقع ووالديه وزوجته وذريته وأصحابه (عمر وطارق) وسائر المسلمين والمسلمات تحت ظل عرشك يوم لا ظل إلا ظلك." ]; // Professional Caption Templates for Instagram/TikTok Reels const CAPTION_TEMPLATES = [ // الفئة الأولى: راحة نفسية وطمأنينة (High Retention & Watch Time) { text: "في زحام الدنيا وضجيج الأيام، يبقى القرآن هو الملاذ الذي تأنس به الأرواح وتطمئن به القلوب 🤍.\nأغلق عينيك للحظات، واستمع لتلاوة تلامس وجدانك وتغسل عنك تعب الأسبوع 🎧.\n\nاللهم اجعل القرآن العظيم ربيع قلوبنا ونور أبصارنا.\n\nشارك المقطع مع من تحب ليكون لك صدقة جارية 💌", hashtags: "#القرآن_الكريم #راحة_نفسية #quran7" }, { text: "صوت يريح القلب المهموم ويسكن الروح 🎧🤍.\nقال الله تعالى: (أَلَا بِذِكْرِ اللَّهِ تَطْمَئِنُّ الْقُلُوبُ). خذ دقيقة من وقتك الآن لتجديد طاقتك الإيمانية والاستماع لكلام ربك.\n\nاحفظ هذا المقطع لتعود إليه كلما شعرت بضيق 🤍", hashtags: "#تلاوات_خاشعة #طمأنينة #quran7" }, { text: "لعل هذه التلاوة تكون إشارة لقلبك في هذا الوقت بالتحديد ✋🤍.\nكثيراً ما نبحث عن راحة في الدنيا، وننسى أن الراحة الحقيقية في كلام خالقنا. استمع بتدبر ودع الآيات تلامس شغاف قلبك.\n\nاكتب 'آمين' إذا وجدت راحة في هذا المقطع 🤲", hashtags: "#خشوع #تدبر_القرآن #quran7" }, { text: "وكلت أمري يا الله، فأنت خير وكيل 🤲🤍.\nلا تنم قبل أن تسمع شيئاً من القرآن، فإنه نور للقلب وصلاح للنفس وسكينة للجوارح. استمع لهذه التلاوة العطرة التي تريح الأعصاب وتذهب الهموم.\n\nمن تعرف يحتاج لسماع هذا المقطع اليوم؟ شاركه معه 📩", hashtags: "#راحة_نفسية #قرآن_كريم #quran7" }, { text: "في هذا اليوم المبارك، اللهم اجعل القرآن ربيع قلوبنا 🤍.\nتلاوة آسرة تأخذك لعالم آخر من الطمأنينة والسكينة، بعيداً عن ضجيج الحياة وتفاصيلها المزعجة. استمع بقلبك 🎧.\n\nثمّن استماعك بكتابة 'الحمد لله' في التعليقات 🌿", hashtags: "#القرآن #سكينة_القلب #quran7" }, { text: "أخي/أختي.. تأمل هذه الآيات كأنها نزلت لك وحدك 🤍.\nكلام الله فيه شفاء لما في الصدور، وفيه نور لمن أراد الهداية. استمع لتلاوة تلامس الروح وتوقظ الضمير.\n\nاحفظ المقطع واجعله ضمن أذكارك اليومية 📌", hashtags: "#تلاوة_قرآنية #شفاء_الصدور #quran7" }, { text: "صوت ينقلك فجأة إلى عالم آخر من الطمأنينة والسكينة 🎧☁️.\nاستمع بقلبك وردد مع المقطع، فترقيق القلب بكلام الله من أعظم القربات. اللهم اجعلنا من أهل القرآن الذين هم أهلك وخاصتك.\n\nأحبك في الله، شارك المقطع ليعم الأجر 🤍", hashtags: "#راحة_نفسية #قرآن #quran7" }, // الفئة الثانية: دعاء وتوكل (High Saves & Shares) { text: "من أعظم النعم أن يرزقك الله الأنس به والطمأنينة بذكره 🤲🏻.\nاللهم ارزقنا حبك، وحب من يحبك، وحب عمل يقربنا إلى حبك. استمع لهذه التلاوة التي تدمع لها العيون وتخشع لها القلوب.\n\nاحفظها لتعود إليها وقت حاجتك 🤍", hashtags: "#الدعاء #خشوع_القلب #quran7" }, { text: "يا رب لا تحرمنا لذة مناجاتك، ولا تتركنا لأنفسنا طرفة عين 🤍.\nاللهم اجعل القرآن العظيم ربيع قلوبنا، واجعلنا ممن يقرؤونه آناء الليل وأطراف النهار. استمع بقلبك وردد معي الدعاء 🤲.\n\nثمّن هذا الدعاء بـ 'آمين' 🌿", hashtags: "#أدعية_قرآنية #قرآن #quran7" }, { text: "ربِّ إني مسّني الضر وأنت أرحم الراحمين 🤲.\nدعوة نبي الله أيوب عليه السلام في شدته، ما لجأ بها مكروب إلى الله بيقين إلا كشف ضره وفرج كربه. استمع بقلبك وتأمل معاني التسليم في هذه الآيات.\n\nشاركها، فلعلها تكون سبب فرج لأحد إخوانك 🤍", hashtags: "#تفريج_الهموم #تلاوة #quran7" }, { text: "اللهم اشرح صدورنا، ويسر أمورنا، وارزقنا السكينة في هذه الدنيا الزائلة 🤲🤍.\nتلاوة تهدئ النفس وتريح البال وتذكرنا بأن كل شيء بيد الله، فلا قلق ولا حزن مع التوكل عليه.\n\nأرسلها لمن تحب وقل له: اطمئن، الله معنا 💌", hashtags: "#تلاوات_مريحة #القرآن_الكريم #quran7" }, // الفئة الثالثة: تذكير وموعظة (Viral Potential) { text: "\"وَمَا عِندَ اللَّهِ خَيْرٌ وَأَبْقَىٰ\" 🤍.\nكم من شيء فقدناه فعوضنا الله خيراً منه! لا تحزن على ما فاتك من الدنيا، فما عند الله أجمل وأبقى. تأمل هذه الآيات واجعلها منهج حياتك.\n\nهل لديك قصة فرج بعد ضيق؟ شاركها لتبشير الآخرين 🌿", hashtags: "#موعظة #تدبر #quran7" }, { text: "\"أَلَا بِذِكْرِ اللَّهِ تَطْمَئِنُّ الْقُلُوبُ\" 🕊️.\nاجعل لسانك رطباً بذكر الله، واجعل سماع القرآن عادتك اليومية. في القلب شجن لا يزيله إلا كلام الرب، وفي الروح تعب لا يريحه إلا الأنس بالله.\n\nاحفظ المقطع كتذكير لنفسك 🤍", hashtags: "#ذكر_الله #قرآن #quran7" }, { text: "استمع وأغلق عينيك 🎧🤍.\nدع القرآن يغسل قلبك من هموم الدنيا، ويعيد لك توازنك وسكينتك. نحن في حاجة ماسة للتوقف قليلاً والاستماع لنداء ربنا.\n\nشارك هذا المقطع ليكون صدقة جارية لك 🤲", hashtags: "#تلاوة_خاشعة #راحة #quran7" }, { text: "هذا المقطع وصلك في هذا الوقت بالتحديد لسبب 💚🤲.\nلا شيء يصادف في هذه الحياة، فلعل قلبك يحتاج لسماع هذه الآيات الآن. تأملها بقلبك وثق أن الله يعلم سرك ونجواك.\n\nاكتب 'الحمد لله' شكراً لله على نعمة القرآن 🌿", hashtags: "#تذكير #القرآن_الكريم #quran7" }, // الفئة الرابعة: صباح/مساء (Timing Specific) { text: "صباح القرآن والسكينة ☀️🤍.\nابدأ يومك بنور الله، فإن بدأت نهارك بكلامه بارك الله في وقتك ورزقك وفتح لك أبواب الخير. استمع لهذه التلاوة العطرة واجعلها بداية يومك.\n\nاكتب 'صباح الخير' لنشاركك الدعاء 🌿", hashtags: "#أذكار_الصباح #القرآن #quran7" }, { text: "مساء السكينة والإيمان 🌙🤍.\nفي نهاية يومك، لا شيء يذهب التعب مثل كلام الله. استمع لهذه التلاوة قبل نومك، فإنها طمأنينة للنفس وأمان للجوارح.\n\nشاركها مع عائلتك ليكون مساءكم مباركاً 💌", hashtags: "#أذكار_المساء #تلاوة #quran7" }, { text: "نور الله يضيء دروبكم 🌅🤍.\nاللهم اجعل هذا اليوم طيباً مباركاً، واكفنا شره بحولك وقوتك. دقائق من الاستماع للقرآن صباحاً تجدد العزيمة وتشرح الصدر.\n\nاحفظ المقطع كجزء من روتينك الصباحي 📌", hashtags: "#صباح_الخير #قرآن_كريم #quran7" }, // الفئة الخامسة: تفاعل مع المتابعين (Engagement Hooks) { text: "لكل قلب سورة تأنس بها، وتقرأها في كل وقت وحين 📖🤍.\nعندما تتعب نفسك أو يضيق صدرك، ما هي الآية أو السورة التي تسرع لتقرأها؟ شاركنا إياها في التعليقات لنشاركك الأجر بالتأمل 🤲.", hashtags: "#خواطر_قرآنية #قرآن #quran7" }, { text: "أرسل هذا المقطع لشخص تحبه في الله ولا تنتظر منه رداً 💌🤍.\nفقط قل له: لقد مررت بقلبي اليوم ودعوت لك، وهذه التلاوة أهديها لك. الدال على الخير كفاعله، كن أنت سبب السكينة لقلب مؤمن 🌿.", hashtags: "#حب_في_الله #صدقة_جارية #quran7" }, { text: "ثواب الدال على الخير كفاعله، بل قد يكون أعظم أجراً 🌿.\nبضغطة زر واحدة، يمكنك أن تكون سبباً في وصول كلام الله إلى قلوب تنتظر هذه الرسالة. انشر المقطع واكسب الأجر المستمر 🤲.", hashtags: "#نشر_الخير #القرآن_الكريم #quran7" }, { text: "اجعل مشاركتك لهذا المقطع صدقة جارية لك ولوالديك 🤲🤍.\nأرسله في مجموعاتك وحساباتك، فلعل هناك قلباً يهتدي، أو نفساً تطمئن، أو عيناً تدمع خشية لله بسبب مشاركتك 🌿.", hashtags: "#أجر_مستمر #تلاوة #quran7" }, // الفئة السادسة: آيات محددة ملهمة (Contextual) { text: "\"إِنَّ مَعَ الْعُسْرِ يُسْرًا\" 🌿.\nوعد إلهي لا يتبدل ولا يتغير.. ما أصعب العسر إلا ويسره في طريقه إليك. ثق بالله وانتظر الفرج، فإن مع كل شدة رخاء، ومع كل تعب سكينة.\n\nاحفظها لتثبت قلبك وقت الضيق 🤍", hashtags: "#تفاؤل #القرآن_الكريم #quran7" }, { text: "\"وَبَشِّرِ الصَّابِرِينَ\" 💚.\nالصبر ليس مجرد تحمل، بل هو حسن التوكل واليقين بأن ما بعد الصبر جميل. تأمل هذه الآيات التي ترفع الهمم وتجدد العزائم.\n\nمن تعرف يحتاج لسماع هذه البشارة اليوم؟ أرسلها له 🤍", hashtags: "#الصبر #تلاوة_قرآنية #quran7" }, { text: "\"فَاذْكُرُونِي أَذْكُرْكُمْ\" 🤍.\nمن أعظم المراتب أن يذكرك الله في الملأ الأعلى. اجعل وقتك كله معموراً بالذكر والاستماع للقرآن، فهو سر السعادة في الدنيا والآخرة.\n\nثمّن هذا التذكير بكتابة 'سبحان الله وبحمده' 🌿", hashtags: "#ذكر_الله #تدبر_القرآن #quran7" }, { text: "\"وَلَسَوْفَ يُعْطِيكَ رَبُّكَ فَتَرْضَىٰ\" 🌟.\nثق بموعود الله، فما أخطأك لم يكن ليصيبك، وما أصابك لم يكن ليخطئك. رضاك القادم مرتبط برضاك بقضاء الله.\n\nشاركها لتكون رسالة يقين لقلب متعب 🤍", hashtags: "#يقين_بالله #قرآن #quran7" }, { text: "\"حَسْبُنَا اللَّهُ وَنِعْمَ الْوَكِيلُ\" 🤲.\nقالها إبراهيم عليه السلام حين ألقي في النار، وقالها نبينا ﷺ في الشدائد. فوض أمرك لله، واسترح من التفكير المبالغ فيه، فالله لا يضيع أجر من أحسن عملاً.\n\nاكتبها لتكون لك صدقة جارية 🤍", hashtags: "#توكل_على_الله #تلاوة #quran7" }, // الفئة السابعة: عام وشامل (General Evergreen) { text: "اجعل القرآن صديقك في كل وقت 📖💚.\nدقائق من عمرنا نقضيها مع كتاب الله، هي بمثابة محطة إعادة شحن للروح. القرآن ليس مجرد كلمات تقرأ، بل هو نور يُقذف في القلب.\n\nاحفظ المقطع كأذكارك اليومية 🤍", hashtags: "#القرآن_الكريم #راحة_نفسية #quran7" }, { text: "دقيقة واحدة مع القرآن قد تغير يومك بالكامل 🤍.\nلا تستهن بأثر كلام الله على نفسيتك وقلبك. استمع لتلاوة خاشعة تعيد ترتيب أفكارك وتهدئ من روعك.\n\nشارك المقطع ليكون لك أجر مستمر 🤲", hashtags: "#تلاوة #قرآن_كريم #quran7" }, { text: "القرآن شفاء ورحمة ونور 💚🤍.\nاجعله دواءك اليومي من قسوة الدنيا، وهموم العمل، وأعباء الحياة. استمع بقلبك وقل: الحمد لله الذي هدانا لهذا.\n\nهل شعرت بالسكينة؟ اكتب 'نعم' في التعليقات 🌿", hashtags: "#خشوع #تلاوات_خاشعة #quran7" }, { text: "استرح من ضجيج الدنيا قليلاً مع هذه التلاوة 🎧💚.\nأغمض عينيك، واستمع لصوت يأخذك لعالم آخر مليء بالطمأنينة والسكينة، بعيداً عن تفاصيل الحياة المرهقة.\n\nشاركها مع من تحب 🤍", hashtags: "#سكينة #قرآن #quran7" }, { text: "لحظة سكون مع كلام الله 🕊️🤍.\nاللهم اجعل قلوبنا عامرة بذكره وألسنتنا رطبة بتلاوة كتابه. استمع بتدبر وتأمل، ففي كل آية نور وشفاء.\n\nاحفظ المقطع لتعود إليه لاحقاً 📌", hashtags: "#راحة_نفسية #القرآن_الكريم #quran7" }, // الفئة الثامنة: أدعية قصيرة (Short Prayers) { text: "اللهم اغفر لي ولوالدي ولمن دخل بيتي مؤمناً وللمؤمنين والمؤمنات 🤲💚.\nدعوة صادقة في ظهر الغيب قد تغير قدراً وتفتح باباً من السماء. لا تنسَ والديك بدعوة في هذه اللحظة 🤍.\n\nاكتب 'آمين' 🌿", hashtags: "#الدعاء #أدعية #quran7" }, { text: "اللهم يسر أمورنا واشرح صدورنا، واجعل القرآن العظيم قائدنا إلى الجنة 🤲🤍.\nاستمع لتلاوة تطمئن لها النفوس وتخشع لها القلوب. اللهم اجعلنا ممن قرأ القرآن فاتبعته على نور من ربهم.\n\nشاركها لتكون لك صدقة جارية 💌", hashtags: "#دعاء_مستجاب #قرآن #quran7" }, { text: "اللهم ارزقنا حسن الخاتمة، واجعل آخر كلامنا من الدنيا لا إله إلا الله 🤲💚.\nتلاوة تذكرنا بحقيقة الدنيا الزائلة، وتوجه أنظارنا نحو الآخرة الباقية. استمع بقلبك واجعلها تذكرة لنفسك.\n\nثمّن المقطع بـ 'اللهم آمين' 🤍", hashtags: "#حسن_الخاتمة #تلاوة_قرآنية #quran7" }, { text: "اللهم اجعلنا من أهل القرآن الذين هم أهلك وخاصتك 📖🤍.\nأهل القرآن هم أهل الله وخاصته، فاجعل القرآن دليلك في حياتك، وأنيسك في قبرك، وشفيعك يوم القيامة.\n\nاحفظ المقطع واكسب أجر النشر 🌿", hashtags: "#أهل_القرآن #خشوع #quran7" }, // الفئة التاسعة: قصيرة وجذابة (Minimalist) { text: "استمع.. وأحسن الظن بالله 💚.\nالله أرحم بك من نفسك، وأعلم بحالك منك. تأمل هذه الآيات وثق أن الفرج قادم 🤍.\n\nشارك المقطع لنشر الأجر 🌿", hashtags: "#تلاوة #راحة_نفسية #quran7" }, { text: "كلام الله.. نور للقلوب وشفاء للصدور 🤍.\nدقائق من السكينة مع آيات تلامس الروح وتذهب الهموم 🎧.\n\nاكتب 'سبحان الله' إذا أعجبك المقطع 🌿", hashtags: "#القرآن_الكريم #خشوع #quran7" }, { text: "ريّح قلبك بكلام ربك 🎧💚.\nالقلوب تعبث بها هموم الدنيا، ولا يصلحها إلا من خلقها. استمع لتلاوة تريح الأعصاب وتجلي الهموم.\n\nاحفظها لتعود إليها وقت حاجتك 📌", hashtags: "#قرآن #تلاوات #quran7" }, { text: "تلاوة تمس القلب وتوقظ الفطرة 🤍.\nاستمع بروحك، وتأمل بقلبك، وثق بأن الخير كله في كتاب الله 📖.\n\nشاركها مع من تحب 💌", hashtags: "#تلاوة_خاشعة #قرآن_كريم #quran7" }, { text: "لحظة مع الله قد تغير حياتك بالكامل 💚.\nلا تمر على هذه الآيات مرور الكرام، بل توقف وتأمل، ففيها مفتاح سعادتك وراحتك 🤍.\n\nثمّن المقطع بكتابة 'الحمد لله' 🌿", hashtags: "#خواطر_قرآنية #القرآن #quran7" }, // الفئة العاشرة: تشجيع على النشر (Share Boosters) { text: "كن سبباً في نشر الخير اليوم 💌.\nبمشاركتك لهذا المقطع، قد تكون سبباً في إدخال السكينة إلى قلب شخص مهموم، أو تذكير شخص غافل. الدال على الخير كفاعله، انشر واكسب الأجر 🤲🤍.", hashtags: "#صدقة_جارية #نشر_الخير #quran7" }, { text: "انشر تؤجر.. واترك أثراً طيباً لا ينقطع 🌿.\nتخيل أن شخصاً يستمع لهذا المقطع بسبب مشاركتك، فيخشع قلبه ويدمع عينه، فتكون شريكاً في أجره حتى يوم القيامة. انشر الآن 🤍.", hashtags: "#أجر_مستمر #القرآن_الكريم #quran7" }, { text: "الرسالة وصلتك.. فلا تحرم غيرك منها 🤲.\nمقاطع القرآن الكريم من أعظم الصدقات الجارية في عالم الرقميات. انشر المقطع في حالاتك (Story) أو في مجموعاتك ليصلك أجر كل من يسمعه بسببك 🤍.", hashtags: "#القرآن #صدقة #quran7" }, { text: "اجعل مشاركتك (Share) اليوم صدقة جارية لك ولوالديك 🤲🤍.\nانشر هذه التلاوة الطيبة، فالرسول ﷺ قال: (الدال على الخير كفاعله). كن دليلاً على الخير في هذه الدنيا 🌿.", hashtags: "#الدال_على_الخير #تلاوة #quran7" } ]; // === VIDEO OF THE DAY MODAL === // === VIDEO OF THE DAY MODAL === // === VIDEO OF THE DAY MODAL === const VideoOfTheDayModal = ({ isOpen, onClose }) => { const [loading, setLoading] = useState(true); const [error, setError] = useState(null); const [videoData, setVideoData] = useState(null); const [countdown, setCountdown] = useState(0); const [downloading, setDownloading] = useState(false); // Custom Video Player Hooks const videoRef = useRef(null); const [isPlaying, setIsPlaying] = useState(false); const [currentTime, setCurrentTime] = useState(0); const [duration, setDuration] = useState(0); const [volume, setVolume] = useState(() => parseFloat(localStorage.getItem(VOLUME_KEY)) || 1); const [isMuted, setIsMuted] = useState(false); // Responsive Sizing State const [aspectRatio, setAspectRatio] = useState(16 / 9); // Default to 16:9 // Sync volume to localStorage on change useEffect(() => { localStorage.setItem(VOLUME_KEY, volume); if (videoRef.current) videoRef.current.volume = volume; }, [volume]); useEffect(() => { if (isOpen) fetchVideoData(); }, [isOpen]); useEffect(() => { let interval; if (videoData && videoData.time_remaining && videoData.time_remaining.total_seconds > 0) { interval = setInterval(() => { setCountdown(prev => { if (prev <= 0) { clearInterval(interval); fetchVideoData(); // Refresh when timer hits zero return 0; } return prev - 1; }); }, 1000); setCountdown(videoData.time_remaining.total_seconds); } return () => clearInterval(interval); }, [videoData]); const fetchVideoData = async () => { try { setError(null); setLoading(true); const response = await fetch('tod-api.php?action=current&_t=' + Date.now(), { cache: 'no-store' }); const data = await response.json(); if (data.success) { setVideoData(data); setCountdown(data.time_remaining.total_seconds); } else { setError(data.message || 'حدث خطأ في تحميل الفيديو'); } } catch (err) { setError('فشل الاتصال بالخادم'); } finally { setLoading(false); } }; const handleDownload = () => { if (!videoData) return; setDownloading(true); window.location.href = `tod-api.php?action=download&video=${videoData.video_number}`; setTimeout(() => setDownloading(false), 2000); }; const formatCountdown = (seconds) => { const h = Math.floor(seconds / 3600); const m = Math.floor((seconds % 3600) / 60); const s = seconds % 60; return `${h}س ${m}د ${s}ث`; }; // Video Player Handlers const togglePlay = () => { if (videoRef.current) { if (isPlaying) videoRef.current.pause(); else videoRef.current.play(); setIsPlaying(!isPlaying); } }; const handleTimeUpdate = () => { if (videoRef.current) setCurrentTime(videoRef.current.currentTime); }; const handleLoadedMetadata = () => { if (videoRef.current) { setDuration(videoRef.current.duration); // FIX: Isolate Volume Application on Load videoRef.current.volume = volume; // FIX: Responsive Sizing Calculation const videoRatio = videoRef.current.videoWidth / videoRef.current.videoHeight; setAspectRatio(videoRatio); } }; const handleSeek = (e) => { const time = parseFloat(e.target.value); if (videoRef.current) { videoRef.current.currentTime = time; setCurrentTime(time); } }; const handleVolumeChange = (e) => { const newVol = parseFloat(e.target.value); setVolume(newVol); if (videoRef.current) { videoRef.current.volume = newVol; setIsMuted(newVol === 0); } }; // Determine dimensions based on aspect ratio const isVertical = aspectRatio < 1; // Vertical: Mobile-like width (max-w-md) and 9:16 aspect // Horizontal: Standard width (max-w-4xl) and video aspect const modalClass = isVertical ? "tod-modal relative bg-[#1a1a1a] border border-white/10 rounded-2xl w-full max-w-md aspect-[9/16] overflow-hidden shadow-2xl animate-in zoom-in-95 duration-300 flex flex-col" : "tod-modal relative bg-[#1a1a1a] border border-white/10 rounded-2xl w-full max-w-4xl md:aspect-video overflow-hidden shadow-2xl animate-in zoom-in-95 duration-300 flex flex-col"; if (!isOpen) return null; return (
{error}
{step.content}
سيقوم النظام بذكاء باختيار تلاوة تناسب الفئة الزمنية المحددة مع خلفية غير مكررة
{/* Duration Selector */}اختر الفئة الزمنية
💡 الفهرسة الذكية تضمن لك تنوعاً عالياً دون تكرار التلاوات والخلفيات التي استخدمتها مؤخراً
كيف تريد إضافة الآيات للتلاوة؟
{/* Options */}اختيار التحليل التلقائي يعني موافقتك على إرسال هذا المقطع الصوتي إلى Google لهذه العملية فقط. يمكنك اختيار الإضافة اليدوية لإبقاء الملف على جهازك.
💡 اضغط على الكلمة الأولى ثم الأخيرة
{toArabicNumerals(getSelectedWordCount())} كلمةالنص المحدد:
{getSelectedText()}
{error}
{message}
{message}
اسحب بإصبعك للتحريك، واستخدم إصبعين للتكبير (Pinch-to-zoom)
Software Engineer
{/* Social Links */}