Jump to content

MediaWiki:Common.js: Difference between revisions

From Megabonk Wiki
No edit summary
mNo edit summary
Line 2: Line 2:
     $(function () {
     $(function () {


         if (!window.nitroAds || !window.nitroAds.createAd) {
         if (!window.nitroAds || !window.nitroAds.createAd) return;
            return;
        }


         var isMainPage =
         var isMainPage =
Line 14: Line 12:


         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 44: Line 41:
                     [320, 50]
                     [320, 50]
                 ],
                 ],
                 geoDeny: ['RU']
                 geoDeny: ["RU"]
             });
             });
         }
         }
Line 53: Line 50:


             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>', {
                 $menuContainer.after($adDiv);
                'class': 'vector-menu-heading',
                text: 'Advertisement'
            });
 
            var $content = $('<div>', {
                 'class': 'vector-menu-content'
            });
 
            var $list = $('<ul>', {
                '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);
             }
             }


Line 102: Line 70:
                     [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: "#000000",
                 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 125: Line 93:
             if (flags.videoInit) return;
             if (flags.videoInit) return;
             flags.videoInit = true;
             flags.videoInit = true;
            if (isMainPage) return;


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

Revision as of 13:17, 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"]
            });
        }

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