Ff

app/ ├── src/main/ │ ├── java/com/example/matchviewer/ │ │ ├── MainActivity.java # النشاط الرئيسي │ │ ├── MatchDetailsActivity.java # نشاط تفاصيل المباراة │ │ ├── Match.java # نموذج بيانات المباراة │ │ └── MatchAdapter.java # محول RecyclerView │ ├── res/ │ │ ├── layout/ # ملفات التخطيط │ │ ├── values/ # الألوان والنصوص والأنماط │ │ ├── drawable/ # الرسوميات والأيقونات │ │ └── mipmap/ # أيقونات التطبيق │ └── AndroidManifest.xml # ملف البيان └── build.gradle # إعدادات البناء
// تطبيق React بملف واحد لمشاهدة المباريات // تعليمات سريعة: // 1) استخدم مشروع Vite أو Create React App. // 2) ثبت TailwindCSS أو أضف ملف CSS بسيط، لأن الشيفرة تستخدم كلاسات Tailwind. // 3) احفظ هذا الملف كمكون صفحة (مثلاً src/App.jsx) واستبدل محتويات App.jsx به. // 4) لتشغيل فيديو فعلي - استبدل روابط الفيديو في videoSrc بروابط MP4 أو HLS (m3u8) متاحة. // 5) يمكن توصيل هذا الواجهة مع API حقيقي لجلب المباريات وجدولها واستريمات البث. import React, {useState, useEffect, useRef} from 'react'; export default function MatchesApp(){ // بيانات تجريبية - استبدلها ببيانات من API const sampleMatches = [ {id:1, league: 'دوري المحترفين', home: 'الفريق أ', away: 'الفريق ب', time: '2025-08-10 19:00', status: 'قبل المباراة', videoSrc: ''}, {id:2, league: 'دوري المحترفين', home: 'الفريق ج', away: 'الفريق د', time: '2025-08-10 21:00', status: 'قبل المباراة', videoSrc: ''}, {id:3, league: 'كأس البلد', home: 'الفريق هـ', away: 'الفريق و', time: '2025-08-11 18:00', status: 'بث مباشر', videoSrc: 'https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.mp4'}, ]; const [matches, setMatches] = useState(sampleMatches); const [query, setQuery] = useState(''); const [leagueFilter, setLeagueFilter] = useState('الكل'); const [selectedMatch, setSelectedMatch] = useState(null); const videoRef = useRef(null); useEffect(()=>{ // هنا توصيل إلى API لجلب المباريات في حال وجود واحد. // مثال: // fetch('/api/matches').then(r=>r.json()).then(data=>setMatches(data)) },[]); const leagues = ['الكل', ...Array.from(new Set(matches.map(m=>m.league)) )]; const filtered = matches.filter(m=>{ const byQuery = (m.home + ' ' + m.away + ' ' + m.league).toLowerCase().includes(query.trim().toLowerCase()); const byLeague = leagueFilter === 'الكل' ? true : m.league === leagueFilter; return byQuery && byLeague; }); function playMatch(match){ setSelectedMatch(match); // محاولة تشغيل الفيديو إن وُجد setTimeout(()=>{ if(videoRef.current){ videoRef.current.play().catch(()=>{}); } }, 50); } return (

تطبيق مشاهدة المباريات

setQuery(e.target.value)} placeholder="ابحث باسم الفريق أو البطولة" className="px-3 py-2 rounded shadow-sm bg-white/80 dark:bg-gray-800/60" />
{/* عمود الفيديو وتفاصيل المباراة */}
{selectedMatch ? (

{selectedMatch.home} vs {selectedMatch.away}

البطولة: {selectedMatch.league} — الوقت: {selectedMatch.time} — الحالة: {selectedMatch.status}

{selectedMatch.videoSrc ? ( ) : (
لا يوجد بث متاح لهذه المباراة الآن
)}
) : (

اختر مباراة من القائمة على اليمين لبدء المشاهدة

يمكن ربط هذا المشغل بروابط HLS (m3u8) أو mp4 أو بخدمة CDN/Broadcast
)}
{/* عمود قائمة المباريات */}
ملاحظة: هذا مثال تعليمي. تأكد من امتلاك حقوق بث أي محتوى مباشر قبل عرضه.
); }
matches

سيرفرات المباراة


>
جدول المباريات
يلا شوت الجديد يلا شوت حصري يلا شوت حصري نيوز يلا شوت مشاهده مباريات اليوم بث مباشر
متعدد 1
















تطبيق كورة لايف ,