(function () { // Türkçe aylar -> ay numarası var MONTHS_TR = { "ocak":1,"şubat":2,"mart":3,"nisan":4,"mayıs":5,"haziran":6, "temmuz":7,"ağustos":8,"eylül":9,"ekim":10,"kasım":11,"aralık":12 }; var pad = function(n){ return (n<10 ? "0"+n : ""+n); }; // Mini stil (istersen kaldır) var style = document.createElement("style"); style.textContent = ".seans--chip{border-radius:6px;padding:6px 10px;display:inline-block;margin:2px;font-weight:600}" + ".seans--past{background:#dc2626!important;color:#fff!important}" + ".seans--next{background:#16a34a!important;color:#fff!important}" + ".seans--now{background:#f59e0b!important;color:#111!important}"; document.head.appendChild(style); function parseTRDate(txt){ // Örn: "22 Ağustos 2025 Cuma" var m = (txt||"").trim().toLowerCase().match(/(\d{1,2})\s+([a-zçğıöşü]+)\s+(\d{4})/i); if(!m) return null; var d = parseInt(m[1],10); var mo = MONTHS_TR[m[2]]; var y = parseInt(m[3],10); if(!mo) return null; return y + "-" + pad(mo) + "-" + pad(d); // "YYYY-MM-DD" } function minutes(h,mi){ return h*60 + mi; } // Bir gün başlığının altındaki saatleri boya function colorizeDay(dayHeading){ var dayContainer = dayHeading.closest("section,div") || dayHeading.parentElement; if(!dayContainer) return; var iso = parseTRDate(dayHeading.textContent); if(!iso) return; var now = new Date(); var todayISO = now.getFullYear() + "-" + pad(now.getMonth()+1) + "-" + pad(now.getDate()); var nowMin = minutes(now.getHours(), now.getMinutes()); // HH:MM metni içeren elemanlar var timeEls = Array.prototype.slice.call( dayContainer.querySelectorAll("a,button,span,div") ).filter(function(el){ var t = (el.textContent||"").trim(); return /^\d{1,2}:\d{2}$/.test(t); }); timeEls.forEach(function(el){ var txt = (el.textContent||"").trim(); var parts = txt.split(":"); var h = parseInt(parts[0],10); var mi = parseInt(parts[1],10); el.classList.add("seans--chip"); el.classList.remove("seans--past","seans--next","seans--now"); if(iso < todayISO){ el.classList.add("seans--past"); // geçmiş gün return; } if(iso > todayISO){ el.classList.add("seans--next"); // gelecek gün return; } // bugün ise saate göre var sMin = minutes(h, mi); if (Math.abs(sMin - nowMin) <= 10) el.classList.add("seans--now"); else if (sMin < nowMin) el.classList.add("seans--past"); else el.classList.add("seans--next"); }); } function run(){ // "22 Ağustos 2025 ..." metnini taşıyan başlıkları bul var heads = Array.prototype.slice.call( document.querySelectorAll("h2,h3,h4,div,section") ).filter(function(el){ var t = (el.textContent||"").trim(); return /(\d{1,2})\s+[A-Za-zÇĞİÖŞÜçğıöşü]+\s+\d{4}/.test(t); }); heads.forEach(function(h){ colorizeDay(h); }); } // İlk çalıştırma + her dakika güncelle document.addEventListener("DOMContentLoaded", run); setInterval(run, 60000); // Ajax/sayfa içi değişimlere tepki ver var obs = new MutationObserver(function(){ run(); }); obs.observe(document.body, {childList:true, subtree:true}); })();