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
m (Blanked the page)
Tag: Blanking
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
console.log("Common.js is loading correctly!");


// Ensure the script only loads after dependencies
mw.loader.using(['jquery', 'mediawiki.user'], function () {
    $(document).ready(function () {
        var loggedInUser = mw.config.get('wgUserName');
        var pageNamespace = mw.config.get('wgCanonicalNamespace');
        console.log("Logged-in User:", loggedInUser);
        console.log("Page Namespace:", pageNamespace);
        // Exit script if user is logged in or on a category page
        if (loggedInUser || pageNamespace === "Category") {
            console.log("User is logged in or on a category page. No blur applied.");
            return;
        }
        console.log("User is not logged in. Applying blur effect.");
        // Find the third subheader
        var $subHeaders = $("#mw-content-text h2");
        if ($subHeaders.length >= 3) {
            console.log("Applying blur after third header.");
            var $thirdHeader = $subHeaders.eq(2);
            // Select only content below the third header, excluding side menus
            var $contentToBlur = $thirdHeader.nextAll()
                .not(".sidebar, .mw-portlet, #p-tb, #p-personal, #footer, #catlinks");
            // Apply blur effect
            $contentToBlur.css({
                "filter": "blur(8px)",
                "pointer-events": "none",
                "user-select": "none"
            });
            // Create the Stripe popup
            var $stripePopup = $('<div class="popup-overlay" id="stripe-popup">' +
                '<div class="popup-box" style="top: 50%; left: 50%; transform: translate(-50%, -50%);">' +
                '<h2>Subscribe to Unlock Content</h2>' +
                '<p>Subscribe to view the full article.</p>' +
                '<button id="subscribe-button" class="popup-button">Subscribe</button>' +
                '<span class="popup-close">×</span>' +
                '</div>' +
                '</div>');
            $("body").append($stripePopup);
            // Stripe Checkout Handler
            $("#subscribe-button").click(function () {
                var stripe = Stripe("your_stripe_publishable_key");
                stripe.redirectToCheckout({
                    sessionId: "your_checkout_session_id"
                }).then(function (result) {
                    if (result.error) {
                        alert(result.error.message);
                    }
                });
            });
            // Close Stripe popup
            $("#stripe-popup .popup-close").click(function () {
                $("#stripe-popup").fadeOut(function () { $(this).remove(); });
            });
        } else {
            console.warn("Not enough headers found for blur effect.");
        }
    });
});
// Unified CSS for popups
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: absolute; }" +
    ".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;" +
    "color: black; font-weight: bold; }" +
    ".popup-close:hover { color: red; }"
);

Latest revision as of 02:05, 2 March 2025