Loading...
LIVE NOW
LOADING STREAM
.
.
.
📢 FOLLOW US FOR MORE UPDATES!
Join Telegram
Get instant updates & exclusive content
×
📢 Don't miss out!
Get instant updates, match highlights, and exclusive links on our official Telegram channel.
Join Telegram
Maybe Later
// Fallback for older browsers else if (video.canPlayType('application/vnd.apple.mpegurl')) { console.log("Using native HLS fallback"); video.src = srcUrl; video.addEventListener('loadedmetadata', function() { setTimeout(function() { hideLoadingAndPlay(); video.play().catch(e => console.log("Play error:", e)); }, 5000); }); } else { console.error("HLS not supported in this browser"); video.style.display = 'none'; hlsIframe.style.display = 'block'; hlsIframe.src = srcUrl; setTimeout(function() { hideLoadingAndPlay(); }, 5000); } } // Start loading animation immediately startLoadingAnimation(); enforceFixedPlayerSize(); window.addEventListener('resize', () => enforceFixedPlayerSize()); window.addEventListener('orientationchange', () => setTimeout(enforceFixedPlayerSize, 100)); if (channelId) { fetchChannelsData().then(data => { if (!data) { const displayName = formatChannelName(channelId); if (displayName) updateChannelHeader(displayName, ''); else setChannelHeaderVisibility(false); setTimeout(function() { hideLoadingAndPlay(); }, 5000); return; } let channelsList = parseChannelsList(data); if (channelsList && channelsList.length > 0) { const matchedChannel = channelsList.find(ch => ch.id && ch.id.toLowerCase() === channelId.toLowerCase() ); if (matchedChannel) { const srcUrl = getChannelSource(matchedChannel); if (srcUrl) { playVideo(srcUrl); let displayName = matchedChannel.name ? formatChannelName(channelId, matchedChannel.name) : formatChannelName(channelId); let badgeText = matchedChannel.quality || matchedChannel.lang || ''; updateChannelHeader(displayName, badgeText); console.log(`Now playing: ${matchedChannel.name || matchedChannel.id}`); } else { const formatted = formatChannelName(channelId); if (formatted) updateChannelHeader(formatted, ''); else setChannelHeaderVisibility(false); setTimeout(function() { hideLoadingAndPlay(); }, 5000); } } else { const formatted = formatChannelName(channelId); if (formatted) updateChannelHeader(formatted, ''); else setChannelHeaderVisibility(false); setTimeout(function() { hideLoadingAndPlay(); }, 5000); } } else { const fallbackName = formatChannelName(channelId); if (fallbackName) updateChannelHeader(fallbackName, ''); else setChannelHeaderVisibility(false); setTimeout(function() { hideLoadingAndPlay(); }, 5000); } }).catch(err => { console.error('Failed to load channel data:', err); const fallbackName = formatChannelName(channelId); if (fallbackName) updateChannelHeader(fallbackName, ''); else setChannelHeaderVisibility(false); setTimeout(function() { hideLoadingAndPlay(); }, 5000); }); } else { setChannelHeaderVisibility(false); setTimeout(function() { hideLoadingAndPlay(); }, 5000); } // TELEGRAM POPUP const popupOverlay = document.getElementById('telegramPopupOverlay'); const popupJoinBtn = document.getElementById('popupJoinBtn'); const popupLaterBtn = document.getElementById('popupLaterBtn'); const closePopupBtn = document.getElementById('closePopupBtn'); function showPopup() { if (popupOverlay) { popupOverlay.style.display = 'flex'; popupOverlay.classList.add('active'); document.body.style.overflow = 'hidden'; } } function hidePopup() { if (popupOverlay) { popupOverlay.style.display = 'none'; popupOverlay.classList.remove('active'); document.body.style.overflow = ''; } } setTimeout(function() { showPopup(); }, 2000); if (popupJoinBtn) { popupJoinBtn.addEventListener('click', function() { hidePopup(); }); } if (popupLaterBtn) { popupLaterBtn.addEventListener('click', function(e) { e.preventDefault(); hidePopup(); }); } if (closePopupBtn) { closePopupBtn.addEventListener('click', function(e) { e.preventDefault(); hidePopup(); }); } if (popupOverlay) { popupOverlay.addEventListener('click', function(e) { if (e.target === popupOverlay) { hidePopup(); } }); } console.log('✅ Player ready - 5 second loading animation for every channel ID'); })();