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 26: | Line 26: | ||
function showPopup() { | function showPopup() { | ||
var popup = $('<div id="popup-overlay">' + | 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>' + | ||
'</div>' | |||
); | |||
$("body").append(popup); | $("body").append(popup); | ||
Line 77: | Line 79: | ||
// Add CSS styles | // Add CSS styles | ||
mw.util.addCSS( | 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; | |||
} | |||
`); | |||
} |
Revision as of 04:47, 21 February 2025
console.log("Common.js is loading correctly!"); // Log the username in the console var loggedInUser = mw.config.get('wgUserName'); console.log("Logged-in User:", loggedInUser); // Only execute the popup script if the user is NOT logged in if (!loggedInUser) { 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; } `); }