|
|
| (7 intermediate revisions by the same user not shown) |
| Line 2: |
Line 2: |
|
| |
|
| {{#tag:html| | | {{#tag:html| |
| <div id="ageDisclaimerOverlay" class="age-overlay" style="display:none"> | | <script src="https://www.gamebrew.org/images/misc/assets/js/Disclaimer.js"></script> |
| <div class="age-blur"></div>
| | <script src="https://www.gamebrew.org/images/misc/assets/js/common.js"></script> |
| <div class="age-popup slide-down">
| |
| <h2>You must be 18+ to view this content</h2>
| |
| <p>This page may contain content intended for mature audiences only.<br>Please confirm that you are 18 years of age or older.</p>
| |
| <div class="btn-group">
| |
| <button id="acceptDisclaimer">I am 18 or older</button>
| |
| <button id="declineDisclaimer">Leave this page</button>
| |
| </div>
| |
| </div>
| |
| </div> | |
| | |
| <script>
| |
| (function($, mw) { | |
| 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> | |
| }} | | }} |