document.getElementById('mobile-menu-icon').addEventListener('click', function() {
const menu = document.getElementById('menu');
const body = document.body; // body'yi seçiyoruz
// Menüye 'show' sınıfı ekleyip çıkaralım
menu.classList.toggle('show');
// Eğer menü açıldıysa, body'ye 'menu-open' sınıfını ekle
if (menu.classList.contains('show')) {
body.classList.add('menu-open'); // Menü açıldığında body'ye sınıf ekle
} else {
body.classList.remove('menu-open'); // Menü kapanınca sınıfı kaldır
}
});
function applyJapaneseFontToContent() {
// Japonca karakter setlerini tanımla
const hiraganaRegex = /[\u3040-\u309F]/; // Hiragana
const katakanaRegex = /[\u30A0-\u30FF]/; // Katakana
const kanjiRegex = /[\u4E00-\u9FFF]/; // Kanji
let elements = document.querySelectorAll('.topic p, .topic h1, .topic h2, .topic h3, .topic h4, .topic h5, .topic h6, .topic ul, .topic ol, .topic li');
elements.forEach(element => {
const text = element.innerHTML; // Mevcut HTML içeriğini al
let newContent = '';
// Metni harf harf işleyelim
for (let i = 0; i < text.length; i++) {
let char = text.charAt(i);
// Japonca karakter kontrolü
if (hiraganaRegex.test(char) || katakanaRegex.test(char) || kanjiRegex.test(char)) {
// Japonca karakterleri span içine al ve yazı tipini değiştir
newContent += `<span class="japanese-font">${char}</span>`;
} else {
// Diğer karakterleri olduğu gibi ekle
newContent += char;
}
}
// Güncellenmiş içeriği elemente geri atama
element.innerHTML = newContent;
});
}
applyJapaneseFontToContent(); // Sayfa yüklendikçe çağır
// Kullanıcının renk modu tercihini kaydetmek için bir fonksiyon
function saveThemePreference(theme) {
localStorage.setItem("theme", theme); // Temayı kaydediyoruz
}
// Kullanıcının tercih ettiği renk modunu almak
function getThemePreference() {
return localStorage.getItem("theme"); // Kaydedilen temayı alıyoruz
}
// Sistem renk modunu algıla
function detectSystemTheme() {
return window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; // Sistem teması
}
// Tema ayarlarını uygula
function applyTheme(theme) {
const body = document.body; // Body elementini alıyoruz
if (theme === "dark") {
body.classList.add("is-dark"); // Koyu temayı ekliyoruz
} else {
body.classList.remove("is-dark"); // Açık temayı kaldırıyoruz
}
}
// Sayfa yüklendiğinde temayı belirle ve uygula
document.addEventListener("DOMContentLoaded", function () {
let savedTheme = getThemePreference(); // Daha önce kaydedilmiş tema var mı?
if (!savedTheme) {
// Kaydedilmiş bir tema yoksa sistem temasını kullanıyoruz
savedTheme = detectSystemTheme();
saveThemePreference(savedTheme);
}
applyTheme(savedTheme); // Temayı uygula
});
// Tema değiştirme butonuna tıklandığında
document.getElementById("toggleColors").addEventListener("click", function () {
let currentTheme = getThemePreference(); // Mevcut tema ne?
let newTheme = currentTheme === "dark" ? "light" : "dark"; // Tema değiştir
applyTheme(newTheme); // Yeni temayı uygula
saveThemePreference(newTheme); // Yeni temayı kaydet
});