top of page
Featured Posts
Recent Posts
Archive
Search By Tags
Follow Rashida
bottom of page
(function () {
function fixText(el) {
if (el && el.innerText.includes("Rent")) {
el.innerText = el.innerText.replace("Rent", "Buy");
}
}
function styleButton(btn) {
if (btn && !btn.classList.contains("custom-buy-button")) {
btn.classList.add("custom-buy-button");
}
}
function linkTitle(title, btn) {
if (title && btn && !title.dataset.purchaseLinked) {
title.style.cursor = "pointer";
title.addEventListener("click", () => btn.click());
title.dataset.purchaseLinked = "true";
}
}
function setup() {
const btn = document.querySelector('[data-hook="paid-access-button"]');
const textEl = document.querySelector('[data-hook="paid-access-button"] .Cg2xdo');
const title = document.querySelector('[data-hook="title"]');
if (!btn || !textEl) return false;
styleButton(btn);
fixText(textEl);
linkTitle(title, btn);
// Watch this exact node for Wix re-rendering it and correct instantly
const observer = new MutationObserver(() => {
fixText(textEl);
styleButton(btn);
});
observer.observe(textEl, { childList: true, characterData: true, subtree: true });
observer.observe(btn, { attributes: true, attributeFilter: ["class"] });
return true;
}
// Keep trying until the widget mounts, then hand off to the observer
const poll = setInterval(() => {
if (setup()) clearInterval(poll);
}, 500);
})();
Comments