(function () {
// 1) Basic bot filter (extend if you like)
function isBot() {
return /(bot|crawl|spider|google|bing|slurp|yandex|facebook|linkedin|pinterest|preview|whatsapp|discord|telegram|headless|puppeteer)/i
.test(navigator.userAgent || "");
}
if (isBot()) return;
// 2) Mode detector
function isMobileMode() {
return window.matchMedia("(max-width: 767px)").matches ||
/Mobi|Android|iPhone|iPad|iPod/i.test(navigator.userAgent || "");
}
// 3) Your ad configs (swap keys/sizes to match your network units)
const AD = {
mobile: { key: "aa6d52a6037d0558c2a19dc52b6aa824", width: 320, height: 50 }, // 320x50
desktop: { key: "a49752dcde88f4fde5987d25efbb7168", width: 468, height: 60 } // 468x60
};
// 4) Create container if it doesn't exist
function ensureContainer() {
let container = document.getElementById("ad-container");
if (!container) {
container = document.createElement("div");
container.id = "ad-container";
container.style.display = "none";
document.body.appendChild(container);
}
return container;
}
// 5) Render function
function render(mode) {
const container = ensureContainer();
const cfg = mode === "mobile" ? AD.mobile : AD.desktop;
// Set global atOptions for ad network
window.atOptions = {
key: cfg.key,
format: "iframe",
height: cfg.height,
width: cfg.width,
params: {}
};
// Clear previous ad/script then inject
container.innerHTML = "";
container.style.display = "block";
const s = document.createElement("script");
s.src = `//selfportraitproved.com/${cfg.key}/invoke.js`;
s.async = true;
container.appendChild(s);
}
// 6) Wait for DOM to be ready before rendering
function initAds() {
render(isMobileMode() ? "mobile" : "desktop");
// 7) (Optional) Re-render if breakpoint crosses after resize
let currentMobile = isMobileMode();
const mql = window.matchMedia("(max-width: 767px)");
if (mql.addEventListener) {
mql.addEventListener("change", (e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
} else if (mql.addListener) { // older browsers
mql.addListener((e) => {
const nowMobile = e.matches;
if (nowMobile !== currentMobile) {
currentMobile = nowMobile;
render(currentMobile ? "mobile" : "desktop");
}
});
}
}
// 8) Execute when DOM is ready
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", initAds);
} else {
initAds();
}
})();
It would be recalled that after the release of Nana Agradaa now Evangelist Patricia Oduro Koranteng, there was a press conference that was held on Tuesday, April 27th, 2021 to address issues concerning her recent arrest, closing down of her TV stations, and reports of her scams.
READ ALSO: Diamond Appiah Is A Scammer, She Is Ghana’s Hushpuppi – Blogger Exposes Popular Slay Queen
During the press conference, Nana Agradaa disclosed to the public that she is now a born-again Christian and has decided to stop worshipping her smaller gods and also disclosed that she will call on some strong men of God to demolish the gods in her house Today, Thursday. She also appealed to the public to address her by her new name, “Patricia Oduro Kranteng”.
Speaking at the press conference of his wife, Pastor Oduro Koranteng explained that the sudden change of his wife is a great development which he has been making constant efforts for the past five years but to no avail.
READ ALSO: Diamond Appiah’s Cosmetic Shop Is Empty, She’s Broke – Blogger Drops More Gist
“When you listened outside you would’ve heard people insulting me asking why I am married to a fetish priestess as a pastor. Being a fetish priest did not mean she was less of a human. These are the people God wants to do his work. She is my wife and I can’t say because she was a priestess, I was leaving her to marry another woman, that’s not what we are taught. It took us five good years, myself and my senior pastor to come to this day.”
👉 For more insights, check out this resource.
👉 Discover more in this in-depth guide.