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!");
mw.loader.using(['mediawiki.user']).then(function () {
mw.loader.using(['mediawiki.user']).then(function () {
     $(document).ready(function () {
     $(document).ready(function () {
         var loggedInUser = mw.config.get('wgUserName');
         var loggedInUser = mw.config.get('wgUserName');
         console.log("Logged-in User:", loggedInUser);
         console.log("Logged-in User:", loggedInUser);
        // Only show the popup if no user is logged in
        if (!loggedInUser) {
            showPopup();
        }
     });
     });
});
// 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
    function showPopup() {
             sessionStorage.removeItem("popupShown");
        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>');


            // Trigger popup when user scrolls
        $("body").append(popup);
            $(document).one("scroll", scrollHandler);


            // Set timeout to allow popup after 2 minutes
        $("#popup-close").click(function () {
            setTimeout(function () {
            $("#popup-overlay").fadeOut();
                timeoutTriggered = true;
                $(document).one("scroll", scrollHandler);
            }, popupTimeout);
         });
         });
     });
     }
 
});
    // Add CSS styles using string concatenation (ES5 compatible)
    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:52, 21 February 2025

mw.loader.using(['mediawiki.user']).then(function () {
    $(document).ready(function () {
        var loggedInUser = mw.config.get('wgUserName');
        console.log("Logged-in User:", loggedInUser);

        // Only show the popup if no user is logged in
        if (!loggedInUser) {
            showPopup(); 
        }
    });

    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);

        $("#popup-close").click(function () {
            $("#popup-overlay").fadeOut();
        });
    }
});