Mini Games Hub
ADVERTISEMENT
Interstitial Ad
Title
Loading...
ADVERTISEMENT
`;
}
}
function renderMainGrid(games) {
const grid = document.getElementById("gameGrid");
grid.innerHTML = "";
games.forEach((game, index) => {
const card = document.createElement("div");
card.className = "game-card";
card.onclick = () => onGameCardClick(game);
card.innerHTML = `
${game.title}
`;
grid.appendChild(card);
if (index === 5) {
const nativeCard = document.createElement("div");
nativeCard.className = "native-ad-card";
grid.appendChild(nativeCard);
injectNativeAd(nativeCard);
}
});
}
function renderMoreGamesGrid(games) {
const grid = document.getElementById("moreGamesGrid");
grid.innerHTML = "";
games.forEach((game) => {
const card = document.createElement("div");
card.className = "game-card";
card.onclick = () => onGameCardClick(game);
card.innerHTML = `
${game.title}
`;
grid.appendChild(card);
});
}
function onGameCardClick(game) {
currentGame = game;
runInterstitialAd(() => { openDetailScreen(game); });
}
function triggerPlayGameAd() {
if (!currentGame) return;
runInterstitialAd(() => { openGameScreen(currentGame.url, currentGame.title); });
}
function runInterstitialAd(onCompleteCallback) {
const adModal = document.getElementById("adModal");
const progressBar = document.getElementById("progressBar");
injectAd('interstitialAdSlot', 'ac5708f62761ac6c7e48af0060da37e0', 300, 250);
adModal.style.display = "flex";
progressBar.style.transition = "none";
progressBar.style.width = "0%";
setTimeout(() => {
progressBar.style.transition = "width 3s linear";
progressBar.style.width = "100%";
}, 50);
setTimeout(() => {
adModal.style.display = "none";
if (onCompleteCallback) onCompleteCallback();
}, 3000);
}
function openDetailScreen(game) {
document.getElementById("detailThumb").src = game.thumb;
document.getElementById("detailTitle").innerText = game.title;
document.getElementById("detailDesc").innerText = game.description || "Play free games online.";
injectAd('descAdSlot', 'ac5708f62761ac6c7e48af0060da37e0', 300, 250);
renderMoreGamesGrid(globalGamesList);
const detailOverlay = document.getElementById("detailOverlay");
detailOverlay.style.display = "flex";
detailOverlay.scrollTop = 0;
}
function closeDetailScreen() {
document.getElementById("detailOverlay").style.display = "none";
}
function openGameScreen(url, title) {
document.getElementById("activeGameTitle").innerText = title;
document.getElementById("gameFrame").src = url;
document.getElementById("gameOverlay").style.display = "flex";
}
function closeGame() {
document.getElementById("gameOverlay").style.display = "none";
document.getElementById("gameFrame").src = "about:blank";
initAllAds();
}
startSplashLoader();
loadFeed();
initAllAds();