МедияУики:Common.js: Разлика между версии
		
		
		
		
		
		Направо към навигацията
		Направо към търсенето
		
				
		
		
	
| Редакция без резюме | Редакция без резюме | ||
| Ред 51: | Ред 51: | ||
| initDarkModeToggle(); | initDarkModeToggle(); | ||
| // Изчакваме зареждането на съдържанието на страницата | |||
| document.addEventListener("DOMContentLoaded", function () { | |||
|   // Избираме всички кодови блокове със синтактично оцветяване | |||
|   const blocks = document.querySelectorAll(".mw-highlight"); | |||
|   // За всеки намерен блок добавяме бутон | |||
|   blocks.forEach((block) => { | |||
|     // Създаваме HTML <button> елемент | |||
|     const button = document.createElement("button"); | |||
|     button.innerHTML = "📋 Копирай кода"; | |||
|     // Добавяме стилове към бутона | |||
|     button.style.cssText = ` | |||
|       margin-top: 6px; | |||
|       background: #238636; | |||
|       color: #fff; | |||
|       border: none; | |||
|       padding: 6px 12px; | |||
|       border-radius: 6px; | |||
|       cursor: pointer; | |||
|       font-size: 13px; | |||
|       font-family: inherit; | |||
|     `; | |||
|     // Когато бутонът бъде натиснат... | |||
|     button.addEventListener("click", () => { | |||
|       // Вземаме текста от кодовия блок | |||
|       const code = block.innerText; | |||
|       // Копираме текста в клипборда | |||
|       navigator.clipboard.writeText(code).then(() => { | |||
|         // Смяна на текста на бутона за обратна връзка | |||
|         button.innerHTML = "✅ Копирано!"; | |||
|         // След 2 секунди връщаме оригиналния текст | |||
|         setTimeout(() => (button.innerHTML = "📋 Копирай кода"), 2000); | |||
|       }); | |||
|     }); | |||
|     // Поставяме бутона под кодовия блок | |||
|     block.parentNode.insertBefore(button, block.nextSibling); | |||
|   }); | |||
| }); | |||
Версия от 09:52, 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) => {
    // Създаваме HTML <button> елемент
    const button = document.createElement("button");
    button.innerHTML = "📋 Копирай кода";
    // Добавяме стилове към бутона
    button.style.cssText = `
      margin-top: 6px;
      background: #238636;
      color: #fff;
      border: none;
      padding: 6px 12px;
      border-radius: 6px;
      cursor: pointer;
      font-size: 13px;
      font-family: inherit;
    `;
    // Когато бутонът бъде натиснат...
    button.addEventListener("click", () => {
      // Вземаме текста от кодовия блок
      const code = block.innerText;
      // Копираме текста в клипборда
      navigator.clipboard.writeText(code).then(() => {
        // Смяна на текста на бутона за обратна връзка
        button.innerHTML = "✅ Копирано!";
        // След 2 секунди връщаме оригиналния текст
        setTimeout(() => (button.innerHTML = "📋 Копирай кода"), 2000);
      });
    });
    // Поставяме бутона под кодовия блок
    block.parentNode.insertBefore(button, block.nextSibling);
  });
});