MediaWiki:Gadget-MobileScript.js: Difference between revisions

From Destinypedia, the Destiny wiki

No edit summary
No edit summary
Line 14: Line 14:
if ($('.navbox-section').length) {
if ($('.navbox-section').length) {
if ($('section:nth-last-of-type(2) > *:not(.navbox):not(.mw-empty-elt)').length > 0
if ($('section:nth-last-of-type(2) > *:not(.navbox):not(.mw-empty-elt)').length > 0
    || $('.section-heading:nth-last-of-type(2) > .mw-headline#References').length > 0
  || $('.section-heading:nth-last-of-type(2) > .mw-headline#References').length > 0
    || $('.section-heading:nth-last-of-type(2) > .mw-headline#Sources').length > 0)
  || $('.section-heading:nth-last-of-type(2) > .mw-headline#Sources').length > 0)
$('section:nth-last-of-type(2) > .navbox').detach().appendTo('.navbox-section');
$('section:nth-last-of-type(2) > .navbox').detach().appendTo('.navbox-section');
if ($.trim($('.navbox-section').text()) == '') {
if ($.trim($('.navbox-section').text()) == '') {

Revision as of 13:26, August 24, 2021

/* Any JavaScript here will be loaded for users of the mobile site */

/* Collapse boxes on smaller devices */
function mwMobileCollapse($collapsibleContent) {
	if ($(window).width() < 720)
		$.each($collapsibleContent, function(index, element) {
			$(element).data('mw-collapsible').collapse();
		});
}
mw.hook('wikipage.collapsibleContent').add(mwMobileCollapse);

/* Move navboxes to dedicated section */
$(function() {
	if ($('.navbox-section').length) {
		if ($('section:nth-last-of-type(2) > *:not(.navbox):not(.mw-empty-elt)').length > 0
		  || $('.section-heading:nth-last-of-type(2) > .mw-headline#References').length > 0
		  || $('.section-heading:nth-last-of-type(2) > .mw-headline#Sources').length > 0)
			$('section:nth-last-of-type(2) > .navbox').detach().appendTo('.navbox-section');
		if ($.trim($('.navbox-section').text()) == '') {
			$('.navbox-heading').attr('style', 'display:none !important');
			$('.navbox-section').attr('style', 'display:none !important');
		}
	}
});

/* Adjust margin of thumbs with no caption */
function thumbFixer() {
	$('.thumb').each(function(i, obj) {
		if (!$(this).find('.thumbcaption').text()) {
			if (window.matchMedia('all and (max-width: 719px)').matches)
				$(this).css('margin-bottom', '0.75em');
			else
				$(this).css('margin-bottom', '');
		}
	});
}
$(thumbFixer);
$(window).resize(function() {
	$(thumbFixer);
});

/* Adjust table of contents to fit with infobox */
$(function() {
	var body = $('#bodyContent');
	var infobox = $('.infobox');

	if (infobox) {
	    var maxWidth = Math.round(body.width() - infobox.outerWidth(true) - 10);
	    $('head').append('<style type="text/css">.toc-mobile { max-width: ' + maxWidth + 'px; }</style>');
	}
});
function tocResizer() {
	var body = $('#bodyContent');
	var infobox = $('.infobox');
	var toc = $('.toc-mobile');

	if (infobox && toc) {
	    var maxWidth = Math.round(body.width() - infobox.outerWidth(true) - 10);
	    toc.css('max-width', maxWidth);
	}
}
$(window).resize(function() {
	$(tocResizer);
});