MediaWiki:Common.js: Difference between revisions
From Riverview Legal Group
Access restrictions were established for this page. If you see this message, you have no access to this page.
mNo edit summary |
mNo edit summary |
||
Line 28: | Line 28: | ||
'<p>Call us for help at (888) 655-1076</p>' + | '<p>Call us for help at (888) 655-1076</p>' + | ||
'<a href="https://riverview.legal/about-us/" target="_blank" class="popup-button">Book a Consultation</a>' + | '<a href="https://riverview.legal/about-us/" target="_blank" class="popup-button">Book a Consultation</a>' + | ||
'<span id="popup-close">×</span>' + | |||
'</div>' + | |||
'</div>'); | |||
$("body").append(popup); | |||
sessionStorage.setItem("popupShown", "true"); | |||
// Send Google Analytics event | |||
sendAnalyticsEvent(); | |||
// Close popup on click | |||
$("#popup-close").click(function () { | |||
$("#popup-overlay").fadeOut(); | |||
}); | |||
// Remove scroll listener after triggering | |||
$(document).off("scroll", scrollHandler); | |||
} | |||
// Function to handle scroll and show popup | |||
function scrollHandler() { | |||
if (!popupShown || timeoutTriggered) { | |||
showPopup(); | |||
} | |||
} | |||
// Check if the user is logged in | |||
var loggedInUser = mw.config.get('wgUserName'); | |||
console.log("Logged-in User:", loggedInUser); | |||
// Reset popup flag on new page load | |||
sessionStorage.removeItem("popupShown"); | |||
// Trigger popup if user is logged out or timeout triggered | |||
if (!loggedInUser) { | |||
console.log("User is logged out, showing popup."); | |||
$(document).one("scroll", scrollHandler); | |||
} | |||
// Set timeout to allow popup after 2 minutes (if user is not logged in) | |||
if (!loggedInUser) { | |||
setTimeout(function () { | |||
timeoutTriggered = true; | |||
$(document).one("scroll", scrollHandler); | |||
}, popupTimeout); | |||
} | |||
}); | |||
}); | |||
// Add CSS styles for the popup | |||
mw.util.addCSS( | |||
"#popup-overlay {" + | |||
"position: fixed;" + | |||
"top: 0;" + | |||
"left: 0;" + | |||
"width: 100%;" + | |||
"height: 100%;" + | |||
"background: rgba(0, 0, 0, 0.6);" + | |||
"display: flex;" + | |||
"justify-content: center;" + | |||
"align-items: center;" + | |||
"z-index: 9999;" + | |||
"}" + | |||
"#popup-box {" + | |||
"background: white;" + | |||
"padding: 20px;" + | |||
"border-radius: 10px;" + | |||
"text-align: center;" + | |||
"width: 300px;" + | |||
"box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);" + | |||
"position: relative;" + | |||
"}" + | |||
".popup-button {" + | |||
"display: inline-block;" + | |||
"background: #007bff;" + | |||
"color: white;" + | |||
"padding: 10px;" + | |||
"text-decoration: none;" + | |||
"border-radius: 5px;" + | |||
"margin-top: 10px;" + | |||
"}" + | |||
"#popup-close {" + | |||
"position: absolute;" + | |||
"top: 10px;" + | |||
"right: 15px;" + | |||
"cursor: pointer;" + | |||
"font-size: 20px;" + | |||
"}" | |||
); | |||
mw.loader.using(['jquery', 'mediawiki.user'], function () { | |||
$(document).ready(function () { | |||
var popupShown = sessionStorage.getItem("popupShown"); | |||
var popupTimeout = 180000; // 3 minutes in milliseconds | |||
var timeoutTriggered = false; | |||
// Function to send analytics event | |||
function sendAnalyticsEvent() { | |||
if (typeof gtag === "function") { | |||
gtag('event', 'popup_shown', { | |||
'event_category': 'Engagement', | |||
'event_label': 'Patreon Popup', | |||
'value': 1 | |||
}); | |||
} else { | |||
console.warn("Google Analytics not detected."); | |||
} | |||
} | |||
// Function to display the popup | |||
function showPopup() { | |||
var popup = $('<div id="popup-overlay">' + | |||
'<div id="popup-box">' + | |||
'<h2>Are you a Legal Professional?</h2>' + | |||
'<p>Support our work with the Caselaw Ninja on Patreon</p>' + | |||
'<p>Become a member today</p>' + | |||
'<a href="https://patreon.com/CaselawNinja" target="_blank" class="popup-button">Join Here</a>' + | |||
'<span id="popup-close">×</span>' + | '<span id="popup-close">×</span>' + | ||
'</div>' + | '</div>' + |
Revision as of 04:48, 25 February 2025
console.log("Common.js is loading correctly!"); mw.loader.using(['jquery', 'mediawiki.user'], function () { $(document).ready(function () { var popupShown = sessionStorage.getItem("popupShown"); var popupTimeout = 120000; // 2 minutes in milliseconds var timeoutTriggered = false; // Function to send analytics event function sendAnalyticsEvent() { if (typeof gtag === "function") { gtag('event', 'popup_shown', { 'event_category': 'Engagement', 'event_label': 'Legal Consultation Popup', 'value': 1 }); } else { console.warn("Google Analytics not detected."); } } // Function to display the popup function showPopup() { var popup = $('<div id="popup-overlay">' + '<div id="popup-box">' + '<h2>Free Legal Consultation <br> Riverview Legal Group (Ontario)</h2>' + '<p>Our primary focus is the Ontario Landlord and Tenant Board.</p>' + '<p>Call us for help at (888) 655-1076</p>' + '<a href="https://riverview.legal/about-us/" target="_blank" class="popup-button">Book a Consultation</a>' + '<span id="popup-close">×</span>' + '</div>' + '</div>'); $("body").append(popup); sessionStorage.setItem("popupShown", "true"); // Send Google Analytics event sendAnalyticsEvent(); // Close popup on click $("#popup-close").click(function () { $("#popup-overlay").fadeOut(); }); // Remove scroll listener after triggering $(document).off("scroll", scrollHandler); } // Function to handle scroll and show popup function scrollHandler() { if (!popupShown || timeoutTriggered) { showPopup(); } } // Check if the user is logged in var loggedInUser = mw.config.get('wgUserName'); console.log("Logged-in User:", loggedInUser); // Reset popup flag on new page load sessionStorage.removeItem("popupShown"); // Trigger popup if user is logged out or timeout triggered if (!loggedInUser) { console.log("User is logged out, showing popup."); $(document).one("scroll", scrollHandler); } // Set timeout to allow popup after 2 minutes (if user is not logged in) if (!loggedInUser) { setTimeout(function () { timeoutTriggered = true; $(document).one("scroll", scrollHandler); }, popupTimeout); } }); }); // Add CSS styles for the popup mw.util.addCSS( "#popup-overlay {" + "position: fixed;" + "top: 0;" + "left: 0;" + "width: 100%;" + "height: 100%;" + "background: rgba(0, 0, 0, 0.6);" + "display: flex;" + "justify-content: center;" + "align-items: center;" + "z-index: 9999;" + "}" + "#popup-box {" + "background: white;" + "padding: 20px;" + "border-radius: 10px;" + "text-align: center;" + "width: 300px;" + "box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);" + "position: relative;" + "}" + ".popup-button {" + "display: inline-block;" + "background: #007bff;" + "color: white;" + "padding: 10px;" + "text-decoration: none;" + "border-radius: 5px;" + "margin-top: 10px;" + "}" + "#popup-close {" + "position: absolute;" + "top: 10px;" + "right: 15px;" + "cursor: pointer;" + "font-size: 20px;" + "}" ); mw.loader.using(['jquery', 'mediawiki.user'], function () { $(document).ready(function () { var popupShown = sessionStorage.getItem("popupShown"); var popupTimeout = 180000; // 3 minutes in milliseconds var timeoutTriggered = false; // Function to send analytics event function sendAnalyticsEvent() { if (typeof gtag === "function") { gtag('event', 'popup_shown', { 'event_category': 'Engagement', 'event_label': 'Patreon Popup', 'value': 1 }); } else { console.warn("Google Analytics not detected."); } } // Function to display the popup function showPopup() { var popup = $('<div id="popup-overlay">' + '<div id="popup-box">' + '<h2>Are you a Legal Professional?</h2>' + '<p>Support our work with the Caselaw Ninja on Patreon</p>' + '<p>Become a member today</p>' + '<a href="https://patreon.com/CaselawNinja" target="_blank" class="popup-button">Join Here</a>' + '<span id="popup-close">×</span>' + '</div>' + '</div>'); $("body").append(popup); sessionStorage.setItem("popupShown", "true"); // Send Google Analytics event sendAnalyticsEvent(); // Close popup on click $("#popup-close").click(function () { $("#popup-overlay").fadeOut(); }); // Remove scroll listener after triggering $(document).off("scroll", scrollHandler); } // Function to handle scroll and show popup function scrollHandler() { if (!popupShown || timeoutTriggered) { showPopup(); } } // Check if the user is logged in var loggedInUser = mw.config.get('wgUserName'); console.log("Logged-in User:", loggedInUser); // Reset popup flag on new page load sessionStorage.removeItem("popupShown"); // Trigger popup if user is logged out or timeout triggered if (!loggedInUser) { console.log("User is logged out, showing popup."); $(document).one("scroll", scrollHandler); } // Set timeout to allow popup after 2 minutes (if user is not logged in) if (!loggedInUser) { setTimeout(function () { timeoutTriggered = true; $(document).one("scroll", scrollHandler); }, popupTimeout); } }); }); // Add CSS styles for the popup mw.util.addCSS( "#popup-overlay {" + "position: fixed;" + "top: 0;" + "left: 0;" + "width: 100%;" + "height: 100%;" + "background: rgba(0, 0, 0, 0.6);" + "display: flex;" + "justify-content: center;" + "align-items: center;" + "z-index: 9999;" + "}" + "#popup-box {" + "background: white;" + "padding: 20px;" + "border-radius: 10px;" + "text-align: center;" + "width: 300px;" + "box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);" + "position: relative;" + "}" + ".popup-button {" + "display: inline-block;" + "background: #007bff;" + "color: white;" + "padding: 10px;" + "text-decoration: none;" + "border-radius: 5px;" + "margin-top: 10px;" + "}" + "#popup-close {" + "position: absolute;" + "top: 10px;" + "right: 15px;" + "cursor: pointer;" + "font-size: 20px;" + "}" );