Jump to content

MediaWiki:Common.js: Difference between revisions

From Megabonk Wiki
No edit summary
No 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) {
         if (!window.nitroAds || !window.nitroAds.createAd) {
             return;
             return;
Line 9: Line 10:
             mw.config.get('wgPageName') === mw.config.get('wgMainPageTitle');
             mw.config.get('wgPageName') === mw.config.get('wgMainPageTitle');


         if (isMainPage) {
         window.megabonkNitro = window.megabonkNitro || {};
             return;
        var flags = window.megabonkNitro;
 
        function initTopBanner() {
            if (flags.topBannerInit) return;
            flags.topBannerInit = true;
 
            if (isMainPage) return;
 
            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']
             });
         }
         }


         var bannerId = 'megabonk_top_banner';
         function initSidebarAd() {
            if (flags.sidebarInit) return;
            flags.sidebarInit = true;
 
            var adId = 'megabonk_sidebar';
 
            var $mainMenu = $('#vector-main-menu');
            if (!$mainMenu.length) return;
 
            if ($('#' + adId).length) return;
 
            var $portlet = $('<div>', {
                id: 'p-NitroAd',
                'class': 'vector-menu mw-portlet nitro-sidebar-portlet'
            });
 
            var $heading = $('<div>', {
                '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);
            }


        var $bodyContent = $('#bodyContent');
            window.nitroAds.createAd(adId, {
        if (!$bodyContent.length) {
                sizes: [
            return;
                    [160, 600]
                ],
                geoDeny: ['RU']
            });
         }
         }


         var $banner = $('#' + bannerId);
         function initAnchor() {
        if (!$banner.length) {
            if (flags.anchorInit) return;
             $banner = $('<div>', {
             flags.anchorInit = true;
                 id: bannerId,
 
                 'class': 'nitro-top-banner'
            window.nitroAds.createAd('megabonk_anchor', {
                 format: 'anchor-v2',
                 anchor: 'bottom',
                anchorBgColor: '#000000',
                anchorClose: false,
                anchorPersistClose: false,
                anchorStickyOffset: 0,
                mediaQuery: '(min-width: 0px)',
                geoDeny: ['RU']
             });
             });
            $bodyContent.prepend($banner);
         }
         }


         $banner.css({
         function initVideo() {
             margin: '10px 0 20px',
             if (flags.videoInit) return;
             textAlign: 'center'
             flags.videoInit = true;
        });
 
            if (isMainPage) return;


        if ($banner.data('nitro-init')) {
            window.nitroAds.createAd('megabonk_video', {
             return;
                format: 'floating',
                geoDeny: ['RU']
             });
         }
         }
        $banner.data('nitro-init', true);


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

Revision as of 13:10, 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 (flags.topBannerInit) return;
            flags.topBannerInit = true;

            if (isMainPage) return;

            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 $mainMenu = $('#vector-main-menu');
            if (!$mainMenu.length) return;

            if ($('#' + adId).length) return;

            var $portlet = $('<div>', {
                id: 'p-NitroAd',
                'class': 'vector-menu mw-portlet nitro-sidebar-portlet'
            });

            var $heading = $('<div>', {
                '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);
            }

            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;

            if (isMainPage) return;

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

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