МедияУики:Common.js: Разлика между версии

От WIKI-TONI
Направо към навигацията Направо към търсенето
Редакция без резюме
Редакция без резюме
Ред 52: Ред 52:
initDarkModeToggle();
initDarkModeToggle();


 
// БУТОН КОПИРАЙ КОДА
// Изчакваме зареждането на съдържанието на страницата
// Изчакваме зареждането на съдържанието на страницата
document.addEventListener("DOMContentLoaded", function () {
document.addEventListener("DOMContentLoaded", function () {
  // Избираме всички кодови блокове със синтактично оцветяване
   const blocks = document.querySelectorAll(".mw-highlight");
   const blocks = document.querySelectorAll(".mw-highlight");


  // За всеки намерен блок добавяме бутон
   blocks.forEach((block) => {
   blocks.forEach((block) => {
     // Създаваме HTML <button> елемент
     // Създаване на бутон
     const button = document.createElement("button");
     const button = document.createElement("button");
     button.innerHTML = "📋 Копирай кода";
     button.innerHTML = "📋 Копирай кода";


     // Добавяме стилове към бутона
     // Стилове
     button.style.cssText = `
     button.style.cssText = `
       margin-top: 6px;
       display: inline-block;
       background: #238636;
       background: #238636;
       color: #fff;
       color: #fff;
Ред 76: Ред 73:
       font-size: 13px;
       font-size: 13px;
       font-family: inherit;
       font-family: inherit;
      margin-bottom: 12px;
     `;
     `;


     // Когато бутонът бъде натиснат...
     // Функция при клик
     button.addEventListener("click", () => {
     button.addEventListener("click", () => {
      // Вземаме текста от кодовия блок
       const code = block.textContent;
       const code = block.innerText;
 
      // Копираме текста в клипборда
       navigator.clipboard.writeText(code).then(() => {
       navigator.clipboard.writeText(code).then(() => {
        // Смяна на текста на бутона за обратна връзка
         button.innerHTML = "✅ Копирано!";
         button.innerHTML = "✅ Копирано!";
        // След 2 секунди връщаме оригиналния текст
         setTimeout(() => (button.innerHTML = "📋 Копирай кода"), 2000);
         setTimeout(() => (button.innerHTML = "📋 Копирай кода"), 2000);
       });
       });
     });
     });


     // Поставяме бутона под кодовия блок
     // Вмъкваме бутона в отделен контейнер след кода
     block.parentNode.insertBefore(button, block.nextSibling);
     const wrapper = document.createElement("div");
    wrapper.appendChild(button);
    block.after(wrapper);
   });
   });
});
});

Версия от 10:56, 2 април 2025

/* Този файл съдържа код на Джаваскрипт и се зарежда при всички потребители. */
/* 🌙 Тъмен режим */
console.log("✅ Common.js се зарежда!");
function initDarkModeToggle() {
  if (!document.body) {
    return setTimeout(initDarkModeToggle, 100); // изчакай, ако body още не е заредено
  }

  const toggle = document.createElement("button");
  toggle.innerText = "🌙";
  toggle.id = "darkModeToggle";
  toggle.style.position = "fixed";
  toggle.style.top = "15px";
  toggle.style.right = "15px";
  toggle.style.zIndex = "9999";
  toggle.style.padding = "8px 12px";
  toggle.style.borderRadius = "8px";
  toggle.style.border = "none";
  toggle.style.background = "#333";
  toggle.style.color = "#fff";
  toggle.style.cursor = "pointer";
  toggle.style.fontSize = "18px";
  toggle.title = "Превключи тъмен/светъл режим";

  document.body.appendChild(toggle);

  const enableDark = () => {
    document.documentElement.classList.add("dark-mode");
    localStorage.setItem("darkMode", "on");
    toggle.innerText = "☀️";
  };

  const disableDark = () => {
    document.documentElement.classList.remove("dark-mode");
    localStorage.setItem("darkMode", "off");
    toggle.innerText = "🌙";
  };

  toggle.addEventListener("click", () => {
    if (document.documentElement.classList.contains("dark-mode")) {
      disableDark();
    } else {
      enableDark();
    }
  });

  if (localStorage.getItem("darkMode") === "on") {
    enableDark();
  }
}

initDarkModeToggle();

// БУТОН КОПИРАЙ КОДА
// Изчакваме зареждането на съдържанието на страницата
document.addEventListener("DOMContentLoaded", function () {
  const blocks = document.querySelectorAll(".mw-highlight");

  blocks.forEach((block) => {
    // Създаване на бутон
    const button = document.createElement("button");
    button.innerHTML = "📋 Копирай кода";

    // Стилове
    button.style.cssText = `
      display: inline-block;
      background: #238636;
      color: #fff;
      border: none;
      padding: 6px 12px;
      border-radius: 6px;
      cursor: pointer;
      font-size: 13px;
      font-family: inherit;
      margin-bottom: 12px;
    `;

    // Функция при клик
    button.addEventListener("click", () => {
      const code = block.textContent;
      navigator.clipboard.writeText(code).then(() => {
        button.innerHTML = "✅ Копирано!";
        setTimeout(() => (button.innerHTML = "📋 Копирай кода"), 2000);
      });
    });

    // Вмъкваме бутона в отделен контейнер след кода
    const wrapper = document.createElement("div");
    wrapper.appendChild(button);
    block.after(wrapper);
  });
});