Jump to content

MediaWiki:Common.js: Difference between revisions

From Megabonk Wiki
No edit summary
mNo edit summary
 
(6 intermediate revisions by the same user not shown)
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;
        }


         var isMainPage =
         var isMainPage =
Line 14: Line 11:


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


             var bannerId = 'megabonk_top_banner';
             var bannerId = 'megabonk_top_banner';
             var $bodyContent = $('#bodyContent');
             var $bodyContent = $('#bodyContent');
             if (!$bodyContent.length) return;
             if (!$bodyContent.length) return;
Line 40: Line 35:
                     [728, 90],
                     [728, 90],
                     [970, 90],
                     [970, 90],
                    [970, 250],
                     [320, 100],
                     [320, 100],
                     [320, 50]
                     [320, 50]
                 ],
                 ],
                 geoDeny: ['RU']
                 geoDeny: ["RU"]
             });
             });
         }
         }
Line 53: Line 47:


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


             var $mainMenu = $('#vector-main-menu');
             var $adDiv = $('#' + adId);
             if (!$mainMenu.length) return;
             if (!$adDiv.length) {
 
                $adDiv = $('<div>', {
            if ($('#' + adId).length) return;
                    id: adId,
 
                    'class': 'nitro-sidebar-ad'
            var $portlet = $('<div>', {
                }).css({
                id: 'p-NitroAd',
                    margin: '20px 0',
                'class': 'vector-menu mw-portlet nitro-sidebar-portlet'
                    textAlign: 'center'
            });
                 });
 
            var $heading = $('<div>', {
                'class': 'vector-menu-heading',
                text: 'Advertisement'
            });
 
            var $content = $('<div>', {
                 'class': 'vector-menu-content'
            });


            var $list = $('<ul>', {
                 $menuContainer.after($adDiv);
                'class': 'vector-menu-content-list'
            });
 
            var $item = $('<li>', {
                'class': 'mw-list-item'
            });
 
            var $adDiv = $('<div>', {
                 id: adId,
                'class': 'nitro-sidebar-ad'
            });
 
            $item.append($adDiv);
            $list.append($item);
            $content.append($list);
            $portlet.append($heading, $content);
 
            var $wikiTools = $('#p-Wiki_Tools');
            if ($wikiTools.length) {
                $wikiTools.after($portlet);
            } else {
                $mainMenu.append($portlet);
             }
             }


             window.nitroAds.createAd(adId, {
             window.nitroAds.createAd(adId, {
                 sizes: [
                 sizes: [
                    [300, 350],
                    [300, 250],
                    [300, 600],
                     [160, 600]
                     [160, 600]
                 ],
                 ],
                 geoDeny: ['RU']
                 geoDeny: ["RU"]
             });
             });
         }
         }
Line 111: Line 79:


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


             if (isMainPage) return;
            window.nitroAds.createAd('megabonk_video', {
                format: "floating",
                geoDeny: ["RU"]
            });
        }
 
        function initSticky() {
             if (flags.stickyInit) return;
            flags.stickyInit = true;


             window.nitroAds.createAd('megabonk_video', {
             window.nitroAds.createAd('megabonk_sticky', {
                 format: 'floating',
                 format: "rail",
                 geoDeny: ['RU']
                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"]
             });
             });
         }
         }
Line 138: Line 129:
         initAnchor();
         initAnchor();
         initVideo();
         initVideo();
        initSticky();
     });
     });
});
});

Latest revision as of 14:32, 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],
                    [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: [
                    [300, 350],
                    [300, 250],
                    [300, 600],
                    [160, 600]
                ],
                geoDeny: ["RU"]
            });
        }

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

            window.nitroAds.createAd('megabonk_anchor', {
                format: "anchor-v2",
                anchor: "bottom",
                anchorBgColor: "transparent",
                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();
    });
});