Jump to content

MediaWiki:Common.js: Difference between revisions

From Megabonk Wiki
mNo edit summary
mNo edit summary
Line 1: Line 1:
mw.loader.using(['mediawiki.util'], function () {
mw.loader.using(['mediawiki.util'], function () {
     $(function () {
     $(function () {
         if (!window.nitroAds || !window.nitroAds.createAd) return;
         if (!window.nitroAds || !window.nitroAds.createAd) return;


Line 12: Line 11:


         function initTopBanner() {
         function initTopBanner() {
             if (isMainPage) return;
             if (isMainPage) return;
             if (flags.topBannerInit) return;
             if (flags.topBannerInit) return;
Line 37: Line 35:
                     [728, 90],
                     [728, 90],
                     [970, 90],
                     [970, 90],
                    [970, 250],
                     [320, 100],
                     [320, 100],
                     [320, 50]
                     [320, 50]
Line 95: Line 94:
             window.nitroAds.createAd('megabonk_video', {
             window.nitroAds.createAd('megabonk_video', {
                 format: "floating",
                 format: "floating",
                geoDeny: ["RU"]
            });
        }
        function initSticky() {
            if (flags.stickyInit) return;
            flags.stickyInit = true;
            window.nitroAds.createAd('megabonk_sticky', {
                format: "rail",
                rail: "right",
                railOffsetTop: 0,
                railOffsetBottom: 0,
                railCollisionWhitelist: [],
                railCloseColor: "#666666",
                railSpacing: 5,
                railStack: true,
                railStickyTop: 0,
                railVerticalAlign: "center",
                sizes: [
                    [160, 600],
                    [300, 250],
                    [300, 600]
                ],
                mediaQuery: "(min-width: 1025px)",
                 geoDeny: ["RU"]
                 geoDeny: ["RU"]
             });
             });
Line 103: Line 127:
         initAnchor();
         initAnchor();
         initVideo();
         initVideo();
        initSticky();
     });
     });
});
});

Revision as of 13:27, 24 November 2025

mw.loader.using(['mediawiki.util'], function () {
    $(function () {
        if (!window.nitroAds || !window.nitroAds.createAd) return;

        var isMainPage =
            mw.config.get('wgIsMainPage') ||
            mw.config.get('wgPageName') === mw.config.get('wgMainPageTitle');

        window.megabonkNitro = window.megabonkNitro || {};
        var flags = window.megabonkNitro;

        function initTopBanner() {
            if (isMainPage) return;
            if (flags.topBannerInit) return;
            flags.topBannerInit = true;

            var bannerId = 'megabonk_top_banner';
            var $bodyContent = $('#bodyContent');
            if (!$bodyContent.length) return;

            var $banner = $('#' + bannerId);
            if (!$banner.length) {
                $banner = $('<div>', {
                    id: bannerId,
                    'class': 'nitro-top-banner'
                }).css({
                    margin: '10px 0 20px',
                    textAlign: 'center'
                });
                $bodyContent.prepend($banner);
            }

            window.nitroAds.createAd(bannerId, {
                sizes: [
                    [728, 90],
                    [970, 90],
                    [970, 250],
                    [320, 100],
                    [320, 50]
                ],
                geoDeny: ["RU"]
            });
        }

        function initSidebarAd() {
            if (flags.sidebarInit) return;
            flags.sidebarInit = true;

            var adId = 'megabonk_sidebar';
            var $menuContainer = $('.vector-main-menu-container');
            if (!$menuContainer.length) return;

            var $adDiv = $('#' + adId);
            if (!$adDiv.length) {
                $adDiv = $('<div>', {
                    id: adId,
                    'class': 'nitro-sidebar-ad'
                }).css({
                    margin: '20px 0',
                    textAlign: 'center'
                });

                $menuContainer.after($adDiv);
            }

            window.nitroAds.createAd(adId, {
                sizes: [
                    [160, 600]
                ],
                geoDeny: ["RU"]
            });
        }

        function initAnchor() {
            if (flags.anchorInit) return;
            flags.anchorInit = true;

            window.nitroAds.createAd('megabonk_anchor', {
                format: "anchor-v2",
                anchor: "bottom",
                anchorBgColor: "#000000",
                anchorClose: false,
                anchorPersistClose: false,
                anchorStickyOffset: 0,
                mediaQuery: "(min-width: 0px)",
                geoDeny: ["RU"]
            });
        }

        function initVideo() {
            if (flags.videoInit) return;
            flags.videoInit = true;

            window.nitroAds.createAd('megabonk_video', {
                format: "floating",
                geoDeny: ["RU"]
            });
        }

        function initSticky() {
            if (flags.stickyInit) return;
            flags.stickyInit = true;

            window.nitroAds.createAd('megabonk_sticky', {
                format: "rail",
                rail: "right",
                railOffsetTop: 0,
                railOffsetBottom: 0,
                railCollisionWhitelist: [],
                railCloseColor: "#666666",
                railSpacing: 5,
                railStack: true,
                railStickyTop: 0,
                railVerticalAlign: "center",
                sizes: [
                    [160, 600],
                    [300, 250],
                    [300, 600]
                ],
                mediaQuery: "(min-width: 1025px)",
                geoDeny: ["RU"]
            });
        }

        initTopBanner();
        initSidebarAd();
        initAnchor();
        initVideo();
        initSticky();
    });
});