Back to top button
Join WhatsApp Group
(function() { if (document.readyState === "interactive" || document.readyState === "complete") { init(); } else { document.addEventListener("DOMContentLoaded", init); } function findArticleBody() { var primary = document.querySelector( ".single .entry-content, article .entry-content, .single-post .entry-content, .entry-content" ); if (primary) { return primary; } var fallback = document.querySelector("div.main-content.tie-col-md-8.tie-col-xs-12"); return fallback || null; } function collectBlocks(container) { var out = []; var kids = Array.prototype.slice.call(container.children); kids.forEach(function(el) { var tag = el.tagName ? el.tagName.toLowerCase() : ""; if (tag && tag !== "script" && tag !== "style") { out.push(el); } }); if (out.length < 3 && kids.length) { var deepest = null; var maxKids = 0; kids.forEach(function(el) { var descendants = el.querySelectorAll ? el.querySelectorAll("p, li, div") : []; if (descendants.length > maxKids) { maxKids = descendants.length; deepest = el; } }); if (deepest && deepest.children && deepest.children.length >= 3) { return collectBlocks(deepest); } } return { blocks: out, container: container }; } function init() { var articleBody = findArticleBody(); if (!articleBody) { console.warn("Ezoic Rewarded Ads: No article content container found on this page"); return; } var collected = collectBlocks(articleBody); var effectiveContainer = collected.container; var contentBlocks = collected.blocks; if (contentBlocks.length < 3) { console.warn("Ezoic Rewarded Ads: Not enough content to apply content lock"); return; } var children = Array.prototype.slice.call(effectiveContainer.children); var introCount = Math.min(2, Math.max(1, Math.floor(contentBlocks.length / 3))); var cutoffElement = contentBlocks[introCount - 1]; var hiddenWrapper = document.createElement("div"); hiddenWrapper.id = "ez-rewarded-hidden-content"; hiddenWrapper.style.display = "none"; var startIndex = children.indexOf(cutoffElement) + 1; var nodesToHide = []; for (var i = startIndex; i < children.length; i++) { nodesToHide.push(children[i]); } if (!nodesToHide.length) { console.warn("Ezoic Rewarded Ads: No content available to lock after intro"); return; } cutoffElement.parentNode.insertBefore(hiddenWrapper, nodesToHide[0]); nodesToHide.forEach(function(node) { hiddenWrapper.appendChild(node); }); var lockBox = document.createElement("div"); lockBox.id = "ez-rewarded-lockbox"; lockBox.style.cssText = "max-width: 640px; margin: 24px auto; padding: 20px 16px; " + "border: 1px solid #e2e8f0; border-radius: 10px; text-align: center; " + "background: #f8fafc; box-sizing: border-box; font-family: inherit;"; var disclosure = document.createElement("p"); disclosure.textContent = "Continue reading the rest of this article by watching a short ad from our sponsors. " + "Watching is completely optional."; disclosure.style.cssText = "margin: 0 0 16px; font-size: 15px; line-height: 1.5; color: #334155;"; var watchBtn = document.createElement("button"); watchBtn.type = "button"; watchBtn.textContent = "Watch Ad to Continue Reading"; watchBtn.setAttribute("data-google-interstitial", "false"); watchBtn.style.cssText = "display: inline-block; width: 100%; max-width: 360px; margin: 0 auto 12px; " + "padding: 14px 20px; font-size: 16px; font-weight: 600; cursor: pointer; " + "border: none; border-radius: 8px; background: #2563eb; color: #fff; box-sizing: border-box;"; var noThanksBtn = document.createElement("button"); noThanksBtn.type = "button"; noThanksBtn.textContent = "No thanks"; noThanksBtn.setAttribute("data-google-interstitial", "false"); noThanksBtn.style.cssText = "display: inline-block; margin: 0 auto; padding: 8px 16px; font-size: 14px; " + "cursor: pointer; border: none; border-radius: 6px; background: transparent; " + "color: #64748b; text-decoration: underline;"; lockBox.appendChild(disclosure); lockBox.appendChild(watchBtn); lockBox.appendChild(document.createElement("br")); lockBox.appendChild(noThanksBtn); hiddenWrapper.parentNode.insertBefore(lockBox, hiddenWrapper); function revealContent() { hiddenWrapper.style.display = "block"; if (lockBox.parentNode) { lockBox.parentNode.removeChild(lockBox); } } noThanksBtn.addEventListener("click", function() { console.log("Ezoic Rewarded Ads: User declined to watch ad, keeping preview"); }); watchBtn.addEventListener("click", function(e) { e.preventDefault(); try { window.ezRewardedAds = window.ezRewardedAds || {}; window.ezRewardedAds.cmd = window.ezRewardedAds.cmd || []; window.ezRewardedAds.cmd.push(function() { window.ezRewardedAds.requestWithOverlay( function(result) { if (result.status && result.reward) { console.log("Ezoic Rewarded Ads: Ad completed, revealing full article"); revealContent(); } else if (!result.status) { console.warn("Ezoic Rewarded Ads: Ad error, keeping partial preview"); } else { console.log("Ezoic Rewarded Ads: User did not complete ad, keeping preview"); } }, { header: "Watch Ad to Continue?", body: ["Watch a short ad to unlock this content."], accept: "Watch ad", cancel: "Cancel" }, { rewardName: "Article Content Unlock", alwaysCallback: true, lockScroll: false, rewardOnNoFill: false } ); }); } catch (err) { console.error("Ezoic Rewarded Ads: Error triggering ad:", err); } }); console.log("Ezoic Rewarded Ads: Content lock applied to article section"); } })();