Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:18PlusDisclaimer: Difference between revisions

Template page
No edit summary
No edit summary
 
(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>
}}
}}

Latest revision as of 11:58, 19 April 2025

Advertising: