Template:18PlusDisclaimer: Difference between revisions
Template page
More actions
No edit summary |
No edit summary |
||
| Line 15: | Line 15: | ||
<script> | <script> | ||
(function($, mw) { | |||
mw.loader.using(['mediawiki.user', 'mediawiki.util']). | console.log('18+ disclaimer script starting…'); | ||
mw.loader.using(['mediawiki.user', 'mediawiki.util']).done(function () { | |||
console.log('MediaWiki modules loaded; user anon? →', mw.user.isAnon()); | |||
const overlay = $('#ageDisclaimerOverlay'); | |||
const popup = overlay.find('.age-popup'); | |||
const isAnon = mw.user.isAnon(); | |||
const cookieConfirmed = document.cookie | |||
.split('; ') | |||
.some(c => c.trim() === 'ageConfirmed=true'); | |||
// decide whether to show | |||
if (!cookieConfirmed || !isAnon) { | |||
console.log('Showing overlay (cookieConfirmed:', cookieConfirmed, 'isAnon:', isAnon, ')'); | |||
overlay.css('display', 'flex'); | |||
$('body').css('overflow', 'hidden'); | |||
// trigger animation | |||
setTimeout(()=> popup.addClass('slide-active'), 10); | |||
} else { | |||
console.log('Not showing overlay (cookieConfirmed && anon)'); | |||
} | |||
$('#acceptDisclaimer').on('click', function() { | |||
console.log('User accepted disclaimer'); | |||
document.cookie = "ageConfirmed=true; max-age=" + (30*24*60*60) + "; path=/"; | |||
overlay.hide(); | |||
$('body').css('overflow', ''); | |||
}); | |||
$('#declineDisclaimer').on('click', function() { | |||
console.log('User declined; redirecting'); | |||
window.location.href = mw.util.getUrl('Main_Page'); | |||
}); | |||
}); | |||
})(jQuery, mw); | |||
}); | |||
</script> | </script> | ||
}} | }} | ||
Revision as of 11:01, 19 April 2025