|
|
| (11 intermediate revisions by the same user not shown) |
| Line 1: |
Line 1: |
| (function () { | | (function () { |
| const banner = document.getElementById('icelist-donate-banner'); | | 'use strict'; |
| if (!banner) return;
| |
|
| |
|
| if (localStorage.getItem('icelistDonateBannerDismissed') === 'true') {
| | var KEY = 'icelist_anon_donate_dismiss_until'; |
| banner.style.display = 'none';
| |
| return;
| |
| }
| |
| | |
| const dismiss = document.getElementById('icelist-donate-dismiss');
| |
| if (dismiss) {
| |
| dismiss.addEventListener('click', function () {
| |
| banner.style.display = 'none';
| |
| localStorage.setItem('icelistDonateBannerDismissed', 'true');
| |
| });
| |
| }
| |
| })();
| |
| (function(){
| |
| var KEY = 'donate_notice_dismissed';
| |
| | |
| if (localStorage.getItem(KEY)) return;
| |
| | |
| mw.hook('wikipage.content').add(function(){
| |
| var close = document.getElementById('donate-notice-close');
| |
| var notice = document.getElementById('donate-top-notice');
| |
| if (!close || !notice) return;
| |
| | |
| close.addEventListener('click', function(){
| |
| notice.style.display = 'none';
| |
| localStorage.setItem(KEY, '1');
| |
| });
| |
| });
| |
| })();
| |
| | |
| (function () {
| |
| var KEY = 'icelist_donate_notice_until'; | |
| var DAYS = 14; | | var DAYS = 14; |
|
| |
|
| Line 46: |
Line 14: |
| if (!siteNotice) return; | | if (!siteNotice) return; |
|
| |
|
| // If Anonnotice is empty, don't show anything | | // If empty, do nothing |
| var existingText = (siteNotice.textContent || '').trim(); | | var txt = (siteNotice.textContent || '').replace(/\s+/g, ' ').trim(); |
| if (!existingText) return; | | if (!txt) return; |
| | |
| | siteNotice.classList.add('icelist-anon-donate'); |
|
| |
|
| siteNotice.innerHTML = ''; | | // Add close button once |
| siteNotice.insertAdjacentHTML('beforeend', | | if (!siteNotice.querySelector('.icelist-notice-close')) { |
| '<div id="donate-top-notice">' +
| | var btn = document.createElement('button'); |
| '<div class="donate-notice-inner">' +
| | btn.type = 'button'; |
| '<span class="donate-title">Support ICE List</span>' +
| | btn.className = 'icelist-notice-close'; |
| '<span class="donate-text">We document federal immigration enforcement, identify agents, and preserve evidence that would otherwise disappear. Donations keep this work public, independent, and alive.</span>' +
| | btn.setAttribute('aria-label', 'Close'); |
| '<a class="donate-btn" href="' + mw.util.getUrl('ICE_List_Wiki:Donate') + '">Donate</a>' +
| | btn.textContent = '×'; |
| '<button id="donate-notice-close" aria-label="Close">×</button>' +
| | siteNotice.insertBefore(btn, siteNotice.firstChild); |
| '</div>' +
| |
| '</div>' | |
| );
| |
|
| |
|
| document.getElementById('donate-notice-close').addEventListener('click', function () {
| | btn.addEventListener('click', function (e) { |
| document.getElementById('donate-top-notice').style.display = 'none';
| | e.preventDefault(); |
| localStorage.setItem(KEY, String(Date.now() + DAYS * 24 * 60 * 60 * 1000));
| | siteNotice.style.display = 'none'; |
| });
| | localStorage.setItem(KEY, String(Date.now() + DAYS * 24 * 60 * 60 * 1000)); |
| | }); |
| | } |
| } | | } |
|
| |
|