/* ============================================ info.js - طلباتك بلس - صفحة المعلومات (index2) ============================================ */ // --- إعدادات API (تأخذ القيمة من المتغير المُعرّف في index2.html) --- // --- التحكم بالسلايدر (تبديل الصور) --- let currentSlide = 1; let slideInterval; function startSlider() { // تبديل كل 5 ثواني slideInterval = setInterval(() => { const slide1 = document.getElementById('slide1'); const slide2 = document.getElementById('slide2'); if (currentSlide === 1) { slide1.style.opacity = '0'; slide2.style.opacity = '1'; currentSlide = 2; } else { slide1.style.opacity = '1'; slide2.style.opacity = '0'; currentSlide = 1; } }, 5000); } // --- تحميل وعرض الفيديوهات --- async function loadVideos() { try { const res = await fetch('/api/settings'); if (!res.ok) throw new Error('فشل تحميل الإعدادات'); const data = await res.json(); const videos = data.videos || []; renderVideos(videos); } catch (err) { console.error('خطأ في تحميل الفيديوهات:', err); document.getElementById('videosContainer').innerHTML = '

تعذر تحميل الفيديوهات

'; } } function renderVideos(videoUrls) { const container = document.getElementById('videosContainer'); container.innerHTML = ''; // تفريغ أي محتوى سابق if (!videoUrls || videoUrls.length === 0) { container.innerHTML = '

لا توجد فيديوهات متاحة حالياً

'; return; } videoUrls.forEach(url => { const videoId = extractYouTubeVideoId(url); if (!videoId) return; // تجاهل الروابط غير الصالحة // إنشاء بطاقة الفيديو باستخدام Tailwind const card = document.createElement('div'); card.className = 'bg-zinc-50 p-4 rounded-2xl shadow-md border border-zinc-200'; // يمكن عرض الفيديو كصورة مصغرة مع رابط للتشغيل، أو تضمين iframe للمعاينة المباشرة. // هنا سنستخدم iframe لتشغيل الفيديو مباشرة (يمكن تغييرها إلى صورة مصغرة حسب الرغبة). card.innerHTML = `
مشاهدة على يوتيوب `; container.appendChild(card); }); } // استخراج معرف الفيديو من رابط يوتيوب (يدعم عدة صيغ) function extractYouTubeVideoId(url) { const patterns = [ /youtube\.com\/watch\?v=([^&]+)/, /youtu\.be\/([^?]+)/, /youtube\.com\/embed\/([^?]+)/, /youtube\.com\/v\/([^?]+)/, /youtube\.com\/shorts\/([^?]+)/ ]; for (let pattern of patterns) { const match = url.match(pattern); if (match && match[1]) return match[1]; } return null; } // --- تهيئة الصفحة --- document.addEventListener('DOMContentLoaded', () => { startSlider(); loadVideos(); }); // اختياري: إيقاف السلايدر عندما لا تكون الصفحة مرئية لتوفير الموارد document.addEventListener('visibilitychange', () => { if (document.hidden) { clearInterval(slideInterval); } else { startSlider(); } });