MediaWiki:Mobile.js: Difference between revisions

Content deleted Content added
No edit summary
Tag: Reverted
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1:
// CapSach — MobileSticky TOC overlay (allUNRESTRICTED: skins;Works phoneon widthsiPad/Desktop/Mobile)
(function () {
// Don’t run on very wide screens (tablet/desktop have native TOC)
if// (window1.matchMedia('( REMOVED the "min-width: 768px)')" check.matches) return;Now runs everywhere.
 
// Only run on normalpages contentwhere pagesit makes sense (Articles/MainPage)
if (window.mw && mw.config && mw.config.get) {
var isAllowed = mw.config.get('wgIsArticle') || mw.config.get('wgIsMainPage');
Line 31:
});
 
// Show only if there are enough headings to be useful (match core default)
// CHANGED: Lowered requirement to 1 heading so it always shows if there is any structure
if (items.length < 1) return;
 
Line 95 ⟶ 96:
}
 
// Force button display immediately
btn.style.display = 'flex'; // reveal trigger now that we know we have headings
btn.style.display = 'flex';
btn.addEventListener('click', openOverlay);
 
Line 146 ⟶ 148:
});
 
// 2. REMOVED the "resize" event listener that was hiding the button.
// Re-hide on rotation/resize to tablet/desktop
// The button now persists on all screen sizes.
window.addEventListener('resize', function () {
if (window.matchMedia('(min-width: 768px)').matches) {
btn.style.display = 'none';
closeOverlay();
} else {
btn.style.display = 'flex';
}
}, { passive: true });
})();
 
/* ======================================================= */
/* FLOATING TOC: CLICK TITLE TO SCROLL TO TOP (ROBUST) */
/* ======================================================= */
$(document).ready(function() {
// Check if the button already exists to prevent duplicates
// We use 'body' to ensure we catch the element even if it loads late
if ($('#custom-email-btn').length === 0) {
$('body').on('click touchstart', '#cps-toc-title', function(e) {
// 1.Create Stopthe anyemail otherbutton mobile touch events from interferingelement
e.preventDefaultvar emailBtn = $();'<a>', {
e.stopPropagation(); id: 'custom-email-btn',
href: 'mailto:services@axabrain.com',
// Simple accessible title
title: 'Contact AXA BRAIN Services'
});
 
// 2.Add Scrollit bothto HTML and BODY tothe coverbody allof browserthe typespage
$('html, body').animateappend({ scrollTop: 0 }, 300emailBtn);
} else {
 
// 3. Close the TOC Overlay so you can see the top of the page
$('#cps-toc-overlay').removeClass('is-open');
});
});