MediaWiki:Common.js

De Edda World Wiki
Revisão de 20h48min de 4 de julho de 2026 por Admin (discussão | contribs) (Criou página com '(function () { 'use strict'; var STORAGE_KEY = 'edda-theme'; function getPreferredTheme() { var saved = null; try { saved = localStorage.getItem(STORAGE_KEY); } catch (e) {} if (saved === 'dark' || saved === 'light') return saved; var prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; return prefersDark ? 'dark' : 'light'; } function applyTheme(theme) { document.documentElement.setAttribute('...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

Nota: Após publicar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer/Edge: PressioneCtrl enquanto clica Recarregar, ou Pressione Ctrl-F5
  • Opera: Pressione Ctrl-F5.
(function () {
  'use strict';

  var STORAGE_KEY = 'edda-theme';

  function getPreferredTheme() {
    var saved = null;
    try { saved = localStorage.getItem(STORAGE_KEY); } catch (e) {}
    if (saved === 'dark' || saved === 'light') return saved;
    var prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
    return prefersDark ? 'dark' : 'light';
  }

  function applyTheme(theme) {
    document.documentElement.setAttribute('data-theme', theme);
    var btn = document.getElementById('edda-theme-toggle');
    if (btn) btn.textContent = theme === 'dark' ? '☀️ Modo claro' : '🌙 Modo escuro';
  }

  var currentTheme = getPreferredTheme();
  applyTheme(currentTheme);

  document.addEventListener('DOMContentLoaded', function () {
    var btn = document.createElement('button');
    btn.id = 'edda-theme-toggle';
    btn.type = 'button';
    btn.setAttribute('aria-label', 'Alternar tema claro/escuro');
    btn.textContent = currentTheme === 'dark' ? '☀️ Modo claro' : '🌙 Modo escuro';

    btn.addEventListener('click', function () {
      var next = document.documentElement.getAttribute('data-theme') === 'dark' ? 'light' : 'dark';
      try { localStorage.setItem(STORAGE_KEY, next); } catch (e) {}
      applyTheme(next);
    });

    document.body.appendChild(btn);
  });
})();