Jump to content

MediaWiki:Vector-2022.js

From Climbopedia
Revision as of 05:17, 15 November 2025 by Karl (talk | contribs) (rewrote resize to observers for robustness)

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.
$(function() {
    // Wrap all body children to get the body size
    $('body').children().wrapAll('<div class="mw-body-wrapper"></div>');

    // Background body overlay (configuration finished in Vector-2022.css)
    $('body').prepend('<div class="custom-bg-overlay"></div>');
    $('.custom-bg-overlay').css({'height': $('.mw-body-wrapper').height(),
                                 'position': 'absolute',
                                 'pointer-events': 'none'});

    // Header background overlay (configuration finished in Vector-2022.css)
    $('.vector-header-container').prepend('<div class="custom-header-container-overlay"></div>');
    $('.custom-header-container-overlay').css({
        'height': $('.vector-header-container').height(),
        'position': 'absolute',
        'z-index': '-1'});

    // Update on window resize

    const ro_body = new ResizeObserver(([entry]) => {
        $('.custom-bg-overlay').height($('.mw-body-wrapper').height());
    });
    ro_body.observe($('.mw-body-wrapper')[0]);

    const ro_bar = new ResizeObserver(([entry]) => {
        $('.custom-header-container-overlay').height($('.vector-header-container').height());
    });
    ro_bar.observe($('.vector-header-container')[0]);
});