Jump to content

MediaWiki:Common.js

From Megabonk Wiki
Revision as of 13:17, 24 November 2025 by MegaAdmin (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
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();
    });
});