مدیاویکی:Common.js: تفاوت میان نسخه‌ها

از ویکیجو | دانشنامه آزاد پارسی
(افزودن دکمهٔ شب/روز به هدر)
(رفع خطای ES5 (نماد BMP به‌جای ایموجی))
خط ۱۵: خط ۱۵:
     document.documentElement.classList.toggle('wj-night', t === 'dark');
     document.documentElement.classList.toggle('wj-night', t === 'dark');
     var b = document.getElementById('wj-theme-btn');
     var b = document.getElementById('wj-theme-btn');
     if (b) { b.textContent = (t === 'dark' ? '☀️' : '🌙'); b.title = (t === 'dark' ? 'حالت روز' : 'حالت شب'); }
     if (b) {
      b.textContent = (t === 'dark' ? '' : '');
      b.title = (t === 'dark' ? 'حالت روز' : 'حالت شب');
    }
   }
   }
   var saved = 'light';
   var saved = 'light';
خط ۲۱: خط ۲۴:
   apply(saved);
   apply(saved);
   function addBtn() {
   function addBtn() {
     if (document.getElementById('wj-theme-btn')) return;
     if (document.getElementById('wj-theme-btn')) { return; }
     var host = document.querySelector('.vector-header-end') || document.querySelector('#p-personal') || document.querySelector('.vector-user-links');
     var host = document.querySelector('.vector-header-end') || document.querySelector('#p-personal') || document.querySelector('.vector-user-links');
     if (!host) return;
     if (!host) { return; }
     var btn = document.createElement('button');
     var btn = document.createElement('button');
     btn.id = 'wj-theme-btn';
     btn.id = 'wj-theme-btn';
خط ۳۲: خط ۳۵:
     btn.addEventListener('click', function () {
     btn.addEventListener('click', function () {
       var cur = document.documentElement.classList.contains('wj-night') ? 'dark' : 'light';
       var cur = document.documentElement.classList.contains('wj-night') ? 'dark' : 'light';
       var next = cur === 'dark' ? 'light' : 'dark';
       var next = (cur === 'dark') ? 'light' : 'dark';
       try { localStorage.setItem('wj-theme', next); } catch (e) {}
       try { localStorage.setItem('wj-theme', next); } catch (e) {}
       apply(next);
       apply(next);
خط ۳۸: خط ۴۱:
     apply(document.documentElement.classList.contains('wj-night') ? 'dark' : 'light');
     apply(document.documentElement.classList.contains('wj-night') ? 'dark' : 'light');
   }
   }
   if (document.readyState !== 'loading') addBtn();
   if (document.readyState !== 'loading') { addBtn(); }
   else document.addEventListener('DOMContentLoaded', addBtn);
   else { document.addEventListener('DOMContentLoaded', addBtn); }
})();
})();

نسخهٔ ‏۳۱ مهٔ ۲۰۲۶، ساعت ۱۲:۱۷

#تغییرمسیر[[اسعد_رزم_آرا،_خلیل_(ملایر_۱۳۰۰ـ_تهران_۱۳۸۲ش)|اسعد_رزم_آرا،_خلیل_(ملایر_۱۳۰۰ـ_تهران_۱۳۸۲ش)]]


$( '.CategoryTreeToggle' ).click();

mw.loader.using('mediawiki.util', function () {
  var ribbon = document.createElement("div");
  ribbon.className = "ribbon";
  document.body.appendChild(ribbon);
});
/* ===== Wikijoo night-mode toggle (2026-05-31) ===== */
(function () {
  function apply(t) {
    document.documentElement.classList.toggle('wj-night', t === 'dark');
    var b = document.getElementById('wj-theme-btn');
    if (b) {
      b.textContent = (t === 'dark' ? '☀' : '☾');
      b.title = (t === 'dark' ? 'حالت روز' : 'حالت شب');
    }
  }
  var saved = 'light';
  try { saved = localStorage.getItem('wj-theme') || 'light'; } catch (e) {}
  apply(saved);
  function addBtn() {
    if (document.getElementById('wj-theme-btn')) { return; }
    var host = document.querySelector('.vector-header-end') || document.querySelector('#p-personal') || document.querySelector('.vector-user-links');
    if (!host) { return; }
    var btn = document.createElement('button');
    btn.id = 'wj-theme-btn';
    btn.type = 'button';
    btn.className = 'wj-theme-btn';
    btn.setAttribute('aria-label', 'تغییر حالت شب و روز');
    host.insertBefore(btn, host.firstChild);
    btn.addEventListener('click', function () {
      var cur = document.documentElement.classList.contains('wj-night') ? 'dark' : 'light';
      var next = (cur === 'dark') ? 'light' : 'dark';
      try { localStorage.setItem('wj-theme', next); } catch (e) {}
      apply(next);
    });
    apply(document.documentElement.classList.contains('wj-night') ? 'dark' : 'light');
  }
  if (document.readyState !== 'loading') { addBtn(); }
  else { document.addEventListener('DOMContentLoaded', addBtn); }
})();