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 1: | Line 1: | ||
console.log("Common.js is loading correctly!"); | console.log("Common.js is loading correctly!"); | ||
// Check if a user is logged in; if so, exit the script | |||
if (mw.config.get('wgUserName')) { | if (mw.config.get('wgUserName')) { | ||
console.log("User is logged in. Popup will not be shown."); | console.log("User is logged in. Popup will not be shown."); | ||
return; | return; | ||
} | } | ||
mw.loader.using(['jquery'], function () { | mw.loader.using(['jquery'], function () { | ||
Line 42: | Line 42: | ||
sendAnalyticsEvent(); | sendAnalyticsEvent(); | ||
// Close popup | // Close popup when clicking the close button or overlay | ||
$("#popup-close").click(function () { | $("#popup-close, #popup-overlay").click(function () { | ||
$("#popup-overlay").fadeOut(); | $("#popup-overlay").fadeOut(); | ||
}); | |||
// Prevent clicks inside the popup from closing it | |||
$("#popup-box").click(function (event) { | |||
event.stopPropagation(); | |||
}); | }); | ||
Line 90: | Line 95: | ||
"border-radius: 10px;" + | "border-radius: 10px;" + | ||
"text-align: center;" + | "text-align: center;" + | ||
"width: | "width: 90%;" + | ||
"max-width: 400px;" + | |||
"box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);" + | "box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);" + | ||
"position: relative;" + | "position: relative;" + | ||
Line 109: | Line 115: | ||
"cursor: pointer;" + | "cursor: pointer;" + | ||
"font-size: 20px;" + | "font-size: 20px;" + | ||
"}" | "}" | ||
); | ); |
Revision as of 16:21, 18 February 2025
console.log("Common.js is loading correctly!"); // Check if a user is logged in; if so, exit the script if (mw.config.get('wgUserName')) { console.log("User is logged in. Popup will not be shown."); return; } mw.loader.using(['jquery'], function () { $(document).ready(function () { var popupShown = sessionStorage.getItem("popupShown"); var popupTimeout = 120000; // 2 minutes in milliseconds var timeoutTriggered = false; 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 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 when clicking the close button or overlay $("#popup-close, #popup-overlay").click(function () { $("#popup-overlay").fadeOut(); }); // Prevent clicks inside the popup from closing it $("#popup-box").click(function (event) { event.stopPropagation(); }); // Remove scroll listener after triggering $(document).off("scroll", scrollHandler); } function scrollHandler() { if (!popupShown || timeoutTriggered) { showPopup(); } } // Reset popup flag on new page load sessionStorage.removeItem("popupShown"); // Trigger popup when user scrolls $(document).one("scroll", scrollHandler); // Set timeout to allow popup after 2 minutes setTimeout(function () { timeoutTriggered = true; $(document).one("scroll", scrollHandler); }, popupTimeout); }); }); // Add CSS styles 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: 90%;" + "max-width: 400px;" + "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;" + "}" );