1<!-- JavaScript'e page_type deÄiÅkenini aktar -->
2<script> 3 window.pageType = 'category_pages'; 4</script>
4 5 6<!doctype html> 7<html lang="tr"> 8<head> 9 <meta charset="UTF-8"> 10 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 11 <title>Teknoloji Dünyasından En Son GeliÅmeler - Mobil13</title> 12 <meta name="description" content="GeleceÄi bugünden keÅfedin. Teknoloji alanındaki en sıcak haberler, yenilikçi ürünler ve dijital dünyadan en son trendler için güvenilir kaynaÄınız."> 13 <!-- Google indexing --> 14 <meta http-equiv="x-dns-prefetch-control" content="on" /> 15 <link href="https://mobil13.com.tr/" rel="dns-prefetch preconnect" /> 16 <link rel="icon" type="image/png" href="https://mobil13.com.tr/uploads/logo/6910bd522e740.png" sizes="48x48"> 17 <link rel="apple-touch-icon" href="https://mobil13.com.tr/uploads/logo/6910bd08c249f.png" sizes="180x180"> 18 <!-- JSON-LD --> 19
19<script type="application/ld+json"> 20 { 21 "@context": "https://schema.org", 22 "@type": "Organization", 23 "name": "Mobil13", 24 "description": "Akıllı telefonlar ile ilgili haberler, yeni çıkan telefonlar, telefonların incelemeleri ve karÅılaÅtırmaları yer alıyor. - Mobil13.com", 25 "url": "https://mobil13.com.tr/", 26 "email": "[email protected]", 27 "logo": { 28 "@type": "ImageObject", 29 "url": "https://mobil13.com.tr/uploads/logo/", 30 "width": 640, 31 "height": 74 32 }, 33 "sameAs": [ 34 "https://facebook.com/", 35 "https://instagram.com/", 36 "https://twitter.com/", 37 "https://youtube.com/" 38 ], 39 "address": { 40 "@type": "PostalAddress", 41 "addressCountry": "TR", 42 "addressLocality": "İzmir", 43 "addressRegion": "İzmir", 44 "streetAddress": "Ortakapı Mah. İbrahim Gökçe Sok. 40 Merkez/Kars" 45 }, 46 "telephone": "+904742237039", 47 "identifier": "https://mobil13.com.tr/", 48 "legalName": "Mobil13", 49 "knowsAbout": "https://mobil13.com.tr/hakkimizda", 50 "knowsLanguage": "tr-TR", 51 "publishingPrinciples": "https://mobil13.com.tr/gizlilik-bildirimi", 52 "actionableFeedbackPolicy": "https://mobil13.com.tr/gizlilik-bildirimi", 53 "ethicsPolicy": "https://mobil13.com.tr/gizlilik-bildirimi", 54 "ownershipFundingInfo": "https://mobil13.com.tr/kunye", 55 "diversityPolicy": "https://mobil13.com.tr/gizlilik-bildirimi" 56} </script>
vendor: 1 bytes, line 56
56
57<script type="application/ld+json"> 58{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https://mobil13.com.tr/","name":"Mobil13"}},{"@type":"ListItem","position":2,"item":{"@id":"https://mobil13.com.tr/teknoloji","name":"Teknoloji"}}]}</script>
58 59 <!-- Sortable.js - Widget sıralama için --> 60 <!--
60<script src="https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.14.0/Sortable.min.js"></script>
60 --> 61<!--
61<script src="https://cdnjs.cloudflare.com/ajax/libs/Sortable/1.15.0/Sortable.min.js"></script>
61 -->
62<script src="https://cdn.jsdelivr.net/npm/[email protected]/Sortable.min.js"></script>
62 63 64 <!-- Temel CSS ve JS --> 65 <link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 66
66<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
66 <!---Ekran Görüntüsü alma--> 67 68 69 70 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> 71 72 <!-- <link rel="stylesheet" href="/templates/css/multi.css"> --> 73 74 <style> 75 .app-wrapper { 76 display: flex; 77 flex-direction: column; 78 min-height: 100vh; 79} 80 81.app-container { 82 flex: 1; /* Ana içeriÄin geniÅlemesini saÄlar */ 83} 84 /* Site Header özel stilleri */ 85 .widget-container[data-widget-type="site-header"] { 86 position: relative; 87 width: 100%; 88 z-index: 1000; 89 border-radius: 0 !important; 90 box-shadow: none !important; 91 transform: none !important; 92 } 93 94 /* Site Header hover efektlerini kaldır */ 95 .widget-container[data-widget-type="site-header"]:hover { 96 transform: none !important; 97 box-shadow: none !important; 98 } 99 /* Site Header widget hover efektlerini kaldır */ 100 101 /* Site Footer özel stilleri */ 102 .widget-container[data-widget-type="site-footer"] { 103 position: relative; 104 width: 100%; 105 z-index: 1000; 106 border-radius: 0 !important; 107 box-shadow: none !important; 108 transform: none !important; 109 background: #fff; 110 } 111 112/* Site Footer hover efektlerini kaldır */ 113.widget-container[data-widget-type="site-footer"]:hover { 114 transform: none !important; 115 box-shadow: none !important; 116} 117 118/* Footer widget hover efektlerini kaldır */ 119.widget-container[data-widget-type="site-footer"] .widget-toolbar { 120 display: none; 121} 122 123 .widget-container:hover { 124 transform: none !important; 125 box-shadow: none !important; 126 } 127 .layout { 128 width: 100%; 129 margin-bottom: 10px; 130 display: flex; 131 flex-wrap: wrap; 132 gap: 20px; 133 position: relative; 134 } 135 136 .section { 137 margin: 0; 138 min-height: 40px; 139 padding: 5px; 140 background: #fff; 141 border-radius: 8px; 142 box-shadow: 0 2px 4px rgba(0,0,0,0.05); 143 display: flex; 144 flex-direction: column; 145 flex: 1; 146 min-width: 0; /* TaÅmaları önler */ 147 } 148 149 .widget-container { 150 border-radius: 8px; 151 box-shadow: 0 2px 8px rgba(0,0,0,0.05); 152 margin-bottom: 0px; 153 overflow: hidden; 154 transition: all 0.3s ease; 155 position: relative; /* Toolbar için gerekli */ 156 } 157 158 .widget-container:hover { 159 box-shadow: 0 4px 12px rgba(0,0,0,0.1); 160 transform: translateY(-1px); 161 } 162 163 /*header widgeti için sabit*/ 164 .widget-container-header { 165 166 } 167 168 .widget-container-header:hover { 169 170 } 171 172 /* Grid sınıfları */ 173 /* Template geniÅlikleri için stil tanımları */ 174 .section.col-md-2 { width: calc(16.666% - 17px); } 175 .section.col-md-3 { width: calc(25% - 15px); } 176 .section.col-md-4 { width: calc(33.333% - 14px); } 177 .section.col-md-6 { width: calc(50% - 10px); } 178 .section.col-md-8 { width: calc(66.666% - 7px); } 179 .section.col-md-9 { width: calc(75% - 5px); } 180 .section.col-md-12 { width: 100%; } 181 182 @media (max-width: 768px) { 183 .section { 184 width: 100% !important; 185 margin-bottom: 0; 186 } 187 .layout { 188 flex-direction: column; 189 } 190 } 191 </style> 192 <!-- Admin panel için özel CSS --> 193 <style id="hidden-widgets-css"> 194/* Gizli widget: normal kullanıcıya görünmez; tema özelleÅtirmede gri/silik + "Gizli" rozeti */ 195body:not(.customize-active) .widget-container[data-widget-id="278"]:not([data-widget-type="site-header"]):not([data-widget-type="site-footer"]){display:none !important;} 196body:not(.customize-active) .widget-container.widget-hidden:not([data-widget-type="site-header"]):not([data-widget-type="site-footer"]){display:none !important;} 197/* GÃVENLİK: Site baÅlıÄı ve alt bilgi HER DURUMDA görünür (gizlenemez) */ 198.widget-container[data-widget-type="site-header"],
199.widget-container[data-widget-type="site-footer"]{display:block !important;filter:none !important;opacity:1 !important;} 200.widget-container[data-widget-type="site-header"]::before, 201.widget-container[data-widget-type="site-footer"]::before{display:none !important;content:none !important;} 202.widget-container[data-widget-type="site-header"] .widget-hide-button, 203.widget-container[data-widget-type="site-footer"] .widget-hide-button{display:none !important;} 204body.customize-active .widget-container.widget-hidden{filter:grayscale(1) !important;opacity:.5 !important;position:relative;} 205body.customize-active .widget-container.widget-hidden::before{content:"Gizli";position:absolute;top:8px;left:8px;z-index:30;background:#111;color:#fff;font-size:11px;font-weight:600;padding:3px 9px;border-radius:6px;opacity:.9;pointer-events:none;letter-spacing:.3px;} 206.widget-edit-overlay .widget-hide-button{background:rgba(0,0,0,.55);color:#fff;border:none;width:34px;height:34px;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-right:6px;transition:background .2s;} 207.widget-edit-overlay .widget-hide-button:hover{background:#111;} 208/* Gizli widget kullanıcıya render edilmeyince boÅ kalan section/layout görünmesin (boÅluk kalmasın) */ 209body:not(.customize-active) .widget-hidden-stub{display:none !important;} 210body:not(.customize-active) .section:not(:has(.widget-container)){display:none !important;} 211body:not(.customize-active) .layout:not(:has(.widget-container)){display:none !important;} 212.section:empty{display:none !important;} 213</style>
214<script>window.__hiddenWidgetIds = ["278"];</script>
214 215<style id="wc-switch-css"><!-- anahtar stili theme-uix-css'te birleÅtirildi --></style>
216<script> 217document.addEventListener('change', function(e){ 218 if (e.target && e.target.classList && e.target.classList.contains('wc-switch-input')) { 219 var t = e.target.parentNode.querySelector('.wc-switch-text'); 220 if (t) t.textContent = e.target.checked ? 'Açık' : 'Kapalı'; 221 } 222}); 223</script>
223 224</head> 225 226 227<body class=""> 228 229 <div class="app-wrapper"> 230 <div class="widget-container" data-widget-id="371" data-widget-type="site-header"><!-- ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 231 PERFORMANS DÃZELTMESİ 232 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 233 TAILWIND: sitenin TEMEL YERLEÅİMİNİ (flex/grid/boÅluk) belirliyor â 234 bu yüzden "async/geç yükle" yapmak RİSKLİ: CSS gelene kadar sayfa 235 daÄınık görünür, sonra aniden yerine oturur (Flash of Unstyled Content 236 + gerçek bir düzen kayması/CLS â tam olarak kaçınmak istediÄimiz Åey). 237 Bu yüzden Tailwind NORMAL (bloklayan) <link> olarak KALIYOR, ama: 238 1) KENDİ SUNUCUNUZDA barındırılıyor (aynı sürüm 2.2.19, HİÃBİR SINIF 239 ÃIKARILMADI â üçüncü taraf cdnjs DNS/el sıkıÅma gecikmesi biter). 240 2) .htaccess'te UZUN ÃNBELLEK süresi tanımlanmalı (aÅaÄıdaki not) â 241 ilk ziyaretten SONRA tarayıcı bu dosyayı BİR DAHA Hİà İNDİRMEZ; 242 bir haber sitesinde trafiÄin çoÄu tekrar eden okuyucudur. 243 244 FONT AWESOME + WEATHER-ICONS: bunlar SADECE ikon glifleri â sayfanın 245 TEMEL yerleÅimini (flex/grid) etkilemiyorlar, ikon kutuları zaten 246 Tailwind tarafından boyutlandırılıyor. Bu yüzden GÃVENLE "preload+swap" 247 (engellemeyen) desenine alınabilirler â bir an ikon görünmese bile 248 düzen KAYMAZ, sadece ikon glifi bir adım sonra belirir. 249 ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ --> 250<link rel="stylesheet" href="/assets/css/tailwind.min.css"> 251<link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/weather-icons/2.0.12/css/weather-icons.min.css" as="style" onload="this.onload=null;this.rel='stylesheet';"> 252<link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet';"> 253<noscript> 254<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/weather-icons/2.0.12/css/weather-icons.min.css"> 255<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> 256</noscript>
257<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4733888358012440" 258 crossorigin="anonymous"></script>
258 259 260<!-- Sticky Header --> 261<div class="sticky-header fixed top-0 left-0 w-full transform -translate-y-full transition-transform duration-300 bg-white shadow-md z-50" style="display:none!important;"> 262 <div class="container mx-auto px-4"> 263 <div class="flex items-center justify-between h-16"> 264 <!-- Logo --> 265 <a href="/" class="shrink-0"> 266 <img src="https://mobil13.com.tr/uploads/logo/6910cea3aeb32.png" 267 alt="mobil13 - Mobil Telefon ve Teknoloji Haberleri" 268 class="h-8 w-auto"> 269 </a> 270 271 <!-- Menüler --> 272 <!-- Sticky Header Menü --> 273 <nav class="hidden lg:flex items-center space-x-6"> 274 <a href="/nasil-yapilir" 275 class="sidebar-nav-link text-gray-700 transition-colors relative" 276 style="font-size: 15px; 277 font-weight: 500;"> 278 NASIL YAPILIR? </a> 279 <a href="/akilli-telefon" 280 class="sidebar-nav-link text-gray-700 transition-colors relative" 281 style="font-size: 15px; 282 font-weight: 500;"> 283 AKILLI TELEFON </a> 284 <a href="/oyun" 285 class="sidebar-nav-link text-gray-700 transition-colors relative" 286 style="font-size: 15px; 287 font-weight: 500;"> 288 OYUN </a> 289 <a href="/teknoloji" 290 class="sidebar-nav-link text-gray-700 transition-colors relative" 291 style="font-size: 15px; 292 font-weight: 500;"> 293 TEKNOLOJİ </a> 294 <a href="/otomobil" 295 class="sidebar-nav-link text-gray-700 transition-colors relative" 296 style="font-size: 15px; 297 font-weight: 500;"> 298 OTOMOBİL </a> 299 <a href="/inceleme" 300 class="sidebar-nav-link text-gray-700 transition-colors relative" 301 style="font-size: 15px; 302 font-weight: 500;"> 303 İNCELEME </a> 304 </nav> 305 306 <!-- SaÄ Alan: Galeri ve Menü --> 307 <div class="flex items-center space-x-4"> 308 <a data-hdr-gal="1" href="/video-galeri" class="flex items-center gap-2 transition-colors hover:text-[#e74c3c] hover:bg-[#f8fafc]" 309 style="color: #ffffff; 310 background-color: #ffffff; 311 padding: 0.75rem 1rem; 312 border-radius: 0.5rem;"> 313 <svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> 314 <polygon points="23 7 16 12 23 17 23 7"/> 315 <rect x="1" y="5" width="15" height="14" rx="2" ry="2"/> 316 </svg> 317 <span class="font-medium">Video</span> 318 </a> 319 320 <!-- Menü Butonu --> 321 <button class="menu-trigger p-2 text-gray-700 hover:text-red-500" 322 data-action="open-menu"> 323 <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> 324 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16m-7 6h7"/> 325 </svg> 326 </button> 327 </div> 328 </div> 329 </div> 330</div> 331 332<link rel="stylesheet" href="/widgets/site-header/templates/styles/broadcast.css" id="header-theme-css"><!-- Header Theme: broadcast --><div class="header-broadcast"><style id="mtb-css-371-mtb"> 333.hdr-mtb{position:relative;width:100%;height:28px;background:#0a0a0a;display:flex;align-items:stretch;overflow:hidden;z-index:1;} 334.hdr-mtb .mtb-label{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:0 14px;background:#1a1a1a;font-size:10.5px;font-weight:800;letter-spacing:1px;color:#fff;white-space:nowrap;border-right:2px solid var(--sb-theme-accent, #c0392b);} 335.hdr-mtb .mtb-label i{color:var(--sb-theme-accent, #c0392b);font-size:11px;} 336.hdr-mtb .mtb-viewport{position:relative;flex:1;min-width:0;overflow:hidden;} 337.hdr-mtb .mtb-track{position:absolute;top:0;left:0;height:100%;display:flex;align-items:center;gap:32px;white-space:nowrap;padding-left:16px;animation:mtbScroll var(--mtb-dur,30s) linear infinite;will-change:transform;}
338.hdr-mtb:hover .mtb-track{animation-play-state:paused;} 339@keyframes mtbScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}} 340.hdr-mtb .mtb-item{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;} 341.hdr-mtb .mtb-name{color:rgba(255,255,255,.55);font-size:11px;font-weight:600;} 342.hdr-mtb .mtb-val{color:#fff;font-size:11.5px;font-weight:700;} 343.hdr-mtb .mtb-arrow{font-size:9px;font-weight:800;} 344.hdr-mtb .mtb-arrow.mtb-up{color:#22c55e;} 345.hdr-mtb .mtb-arrow.mtb-down{color:#ef4444;} 346.hdr-mtb .mtb-arrow.mtb-stable{color:rgba(255,255,255,.4);} 347/* Kayan verinin SAÄ UCUNDA, siyah bir "sise/buluta" karıÅma efekti â metin buraya girince 348 yumuÅakça kaybolur; gerçek DEÄİL, tamamen görsel bir gradient overlay. */ 349.hdr-mtb .mtb-fade{position:absolute;top:0;right:0;width:70px;height:100%;background:linear-gradient(90deg, rgba(10,10,10,0) 0%, rgba(10,10,10,.75) 55%, #0a0a0a 100%);pointer-events:none;z-index:2;} 350@media(max-width:767px){ 351 .hdr-mtb{height:24px;} 352 .hdr-mtb .mtb-label{padding:0 10px;font-size:9.5px;} 353 .hdr-mtb .mtb-name{font-size:10px;} 354 .hdr-mtb .mtb-val{font-size:10.5px;} 355 .hdr-mtb .mtb-fade{width:44px;} 356} 357</style> 358<div class="hdr-mtb" id="hdrMtb371-mtb" data-content-key="market_top_band_enabled"> 359 <div class="mtb-label"><i class="fas fa-chart-line"></i><span>PİYASALAR</span></div> 360 <div class="mtb-viewport"> 361 <div class="mtb-track" data-mtb-track> 362 <span class="mtb-item"><span class="mtb-name">Gram Altın</span><span class="mtb-val">6.690,25</span><span class="mtb-arrow mtb-down">â¼</span></span> 363 <span class="mtb-item"><span class="mtb-name">Ãeyrek Altın</span><span class="mtb-val">10.910,62</span><span class="mtb-arrow mtb-down">â¼</span></span> 364 <span class="mtb-item"><span class="mtb-name">Yarım Altın</span><span class="mtb-val">21.821,25</span><span class="mtb-arrow mtb-down">â¼</span></span> 365 <span class="mtb-item"><span class="mtb-name">Tam Altın</span><span class="mtb-val">43.509,03</span><span class="mtb-arrow mtb-down">â¼</span></span> 366 <span class="mtb-item"><span class="mtb-name">Cumhuriyet Altını</span><span class="mtb-val">44.869,00</span><span class="mtb-arrow mtb-down">â¼</span></span> 367 <span class="mtb-item"><span class="mtb-name">AZN</span><span class="mtb-val">28,74</span><span class="mtb-arrow mtb-up">â²</span></span> 368 <span class="mtb-item"><span class="mtb-name">Euro</span><span class="mtb-val">55,70</span><span class="mtb-arrow mtb-up">â²</span></span> 369 <span class="mtb-item"><span class="mtb-name">Sterlin</span><span class="mtb-val">64,77</span><span class="mtb-arrow mtb-up">â²</span></span> 370 <span class="mtb-item"><span class="mtb-name">Ãin Yuanı</span><span class="mtb-val">7,28</span><span class="mtb-arrow mtb-stable">â</span></span> 371 <span class="mtb-item"><span class="mtb-name">Dolar</span><span class="mtb-val">48,86</span><span class="mtb-arrow mtb-up">â²</span></span> 372 <span class="mtb-item"><span class="mtb-name">Gram Altın</span><span class="mtb-val">6.690,25</span><span class="mtb-arrow mtb-down">â¼</span></span> 373 <span class="mtb-item"><span class="mtb-name">Ãeyrek Altın</span><span class="mtb-val">10.910,62</span><span class="mtb-arrow mtb-down">â¼</span></span> 374 <span class="mtb-item"><span class="mtb-name">Yarım Altın</span><span class="mtb-val">21.821,25</span><span class="mtb-arrow mtb-down">â¼</span></span> 375 <span class="mtb-item"><span class="mtb-name">Tam Altın</span><span class="mtb-val">43.509,03</span><span class="mtb-arrow mtb-down">â¼</span></span> 376 <span class="mtb-item"><span class="mtb-name">Cumhuriyet Altını</span><span class="mtb-val">44.869,00</span><span class="mtb-arrow mtb-down">â¼</span></span> 377 <span class="mtb-item"><span class="mtb-name">AZN</span><span class="mtb-val">28,74</span><span class="mtb-arrow mtb-up">â²</span></span> 378 <span class="mtb-item"><span class="mtb-name">Euro</span><span class="mtb-val">55,70</span><span class="mtb-arrow mtb-up">â²</span></span>
379 <span class="mtb-item"><span class="mtb-name">Sterlin</span><span class="mtb-val">64,77</span><span class="mtb-arrow mtb-up">â²</span></span> 380 <span class="mtb-item"><span class="mtb-name">Ãin Yuanı</span><span class="mtb-val">7,28</span><span class="mtb-arrow mtb-stable">â</span></span> 381 <span class="mtb-item"><span class="mtb-name">Dolar</span><span class="mtb-val">48,86</span><span class="mtb-arrow mtb-up">â²</span></span> 382 </div> 383 <div class="mtb-fade"></div> 384 </div> 385</div>
386<script> 387(function(){ 388 var wi = '371-mtb'; 389 var root = document.getElementById('hdrMtb' + wi); 390 if (!root) return; 391 var n = 10; 392 var dur = Math.max(16, n * 4.5); 393 root.style.setProperty('--mtb-dur', dur + 's'); 394})(); 395</script>
395 396 397<style id="bc-vars-371"> 398#bcHeader371{ 399 --bc-hdr-bg: #000000; 400 --bc-hdr-h: 84px; 401 --bc-hdr-h-shrink: 56px; 402 --bc-accent: #e30613; 403 --bc-accent2: #ff4d4d; 404 --bc-nav-bg: #141414; 405 --bc-nav-h: 46px; 406 --bc-logo-h: 50px; 407 --bc-logo-h-shrink: 32px; 408 --bc-logo-w: 540px; 409 --bc-logo-h-mob: 42px; 410 --bc-wx-icon: #ff4d4d; 411 --bc-wx-temp: #ffffff; 412 --bc-wx-city: rgba(255,255,255,0.55); 413 --bc-soc-c: rgba(255,255,255,0.72); 414 --bc-menu-c: rgba(255,255,255,0.8); 415 --bc-menu-h: #ffffff; 416 --bc-menu-active: #e30613; 417 --bc-menu-sz: 13.5px; 418 --bc-menu-fw: 700; 419 --bc-gal-c: rgba(255,255,255,0.75); 420} 421/* ââ SIDEBAR + ARAMA MODALI PALETİ ââ 422 :root'ta tanımlı olmalı: sidebar.php/search.php kendi elemanlarını JS ile document.body'ye 423 taÅıyor (overflow:hidden'ların paneli kesmesini önlemek için) â bu yüzden #bcHeader{wi} 424 İÃİNDE tanımlarsam CSS custom property miras zinciri kopar ve varsayılana (beyaz) düÅer. 425 DiÄer 6 temada da bu deÄiÅkenler :root'ta â tutarlılık burada da Åart. */ 426:root{ 427 --sb-theme-bg: #0d0d0d; 428 --sb-theme-bg2: #1a1a1a; 429 --sb-theme-text: #f5f5f5; 430 --sb-theme-muted: rgba(245,245,245,.55); 431 --sb-theme-accent: #e30613; 432 --sb-theme-border: rgba(255,255,255,.10); 433 --bc-badge-bg: #fff; 434 --bc-panel-bg: #151515; 435 --sb-theme-hover: rgba(227,6,19,.14); 436} 437</style> 438<style id="bc-css-371"> 439#bcHeader371,#bcHeader371 *{box-sizing:border-box} 440#bcHeader371{width:100%;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;position:relative;background:var(--bc-hdr-bg);transition:box-shadow .3s;border-bottom:3px solid var(--bc-accent);} 441#bcHeader371.bc-fixed{position:fixed;top:0;left:0;right:0;width:100%;z-index:9800;} 442.bc-hidden{display:none !important;} 443.bc-spacer{display:none;} 444.bc-spacer.bc-on{display:block;} 445.bc-c-371{max-width:var(--container-max-width,1200px);margin:0 auto;padding:0 16px;width:100%} 446 447/* Ãst "LIVE" Åeridi */ 448.bc-live-dot{width:6px;height:6px;border-radius:50%;background:#fff;animation:bcPulse 1.3s ease-in-out infinite;} 449@keyframes bcPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}} 450 451/* Ana satır */ 452/* DÃZELTME (logo boyutu): Header satırı SABİT yükseklikteydi (height:var(--xx-hdr-h)). 453 Logo yüksekliÄi ayarından ne kadar büyütülürse büyütülsün satır büyümediÄi
453için logo 454 kırpılıyor/taÅıyor, kullanıcı gözle hiçbir deÄiÅiklik görmüyordu ("logoyu büyütüyorum 455 ama bir Åey olmuyor" durumunun kök nedeni). Artık yükseklik ALT SINIR: tasarımdaki 456 görünüm aynen korunur, ama logo satırdan uzunsa satır otomatik olarak ona uyum saÄlar. */ 457.bc-main{min-min-height:var(--bc-hdr-h);height:auto;display:flex;align-items:center;transition:min-height .3s;} 458#bcHeader371.bc-shrink .bc-main{min-min-height:var(--bc-hdr-h-shrink);height:auto;} 459.bc-main-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:100%;padding:10px 0;transition:padding .3s;} 460#bcHeader371.bc-shrink .bc-main-row{padding:5px 0;} 461 462.bc-left{display:flex;align-items:center;gap:12px;min-width:0;} 463.bc-date{display:none;font-size:11px;color:rgba(255,255,255,.5);white-space:nowrap;} 464@media(min-width:900px){ .bc-date{display:inline;} } 465.bc-wx-btn{display:flex;align-items:center;gap:6px;cursor:pointer;background:none;border:none;padding:0;font:inherit;position:relative;} 466.bc-wx-static{cursor:default;pointer-events:none;} 467.bc-wx-btn i{font-size:16px;color:var(--bc-wx-icon);} 468.bc-wx-city{font-size:11.5px;color:var(--bc-wx-city);white-space:nowrap;} 469.bc-wx-temp{font-size:12.5px;font-weight:800;color:var(--bc-wx-temp);white-space:nowrap;} 470.hdr-wx-anim i{display:inline-block;transform-origin:center;} 471.hdr-wx-anim i.wi-day-sunny{animation:bcSpin 9s linear infinite;} 472@keyframes bcSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}} 473 474.bc-logo-wrap{display:flex;justify-content:center;} 475.bc-logo{display:flex;align-items:center;text-decoration:none;} 476.bc-logo .logo-wrapper{position:relative;overflow:hidden;display:inline-block;} 477.bc-logo img{height:var(--bc-logo-h);width:auto;max-width:var(--bc-logo-w);object-fit:contain;display:block;transition:height .3s;} 478#bcHeader371.bc-shrink .bc-logo img{height:var(--bc-logo-h-shrink);} 479.bc-logo-white{filter:brightness(0) invert(1);} 480 481.bc-right{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;} 482.bc-soc{display:flex;align-items:center;gap:3px;padding-left:10px;border-left:1px solid rgba(255,255,255,.12);} 483.bc-soc a{display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;color:var(--bc-soc-c);text-decoration:none;transition:all .2s;} 484.bc-soc a:hover{color:#fff;background:rgba(227,6,19,.25);} 485.bc-soc svg{width:13px;height:13px;} 486.bc-srch{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:var(--bc-accent);border:none;cursor:pointer;color:#fff;transition:filter .2s,transform .2s;padding:0;flex-shrink:0;} 487.bc-srch:hover{filter:brightness(1.1);transform:translateY(-1px);} 488.bc-srch svg{width:15px;height:15px;} 489.bc-ham{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);cursor:pointer;color:#fff;padding:0;flex-shrink:0;} 490.bc-ham svg{width:17px;height:17px;} 491 492.bc-wx-panel{position:fixed;z-index:99999;background:var(--bc-panel-bg);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.5);width:280px;max-width:88vw;padding:14px;display:none;border:1px solid rgba(255,255,255,.1);} 493.bc-wx-panel.bc-open{display:block;} 494.bc-wx-panel-search{width:100%;padding:8px 10px;border:1.5px solid rgba(255,255,255,.15);border-radius:8px;font-size:13px;margin-bottom:8px;background:rgba(255,255,255,.06);color:#fff;} 495.bc-wx-panel-list{max-height:220px;overflow-y:auto;} 496.bc-wx-panel-item{display:flex;align-items:center;justify-content:space-between;padding:8px 6px;border-radius:6px;cursor:pointer;font-size:13px;color:#eee;} 497.bc-wx-panel-item:hover{background:rgba(255,255,255,.08);} 498.bc-wx-panel-loading{text-align:center;padding:14px;color:#999;font-size:12.5px;} 499 500/* Nav */ 501.bc-nav{background:var(--bc-nav-bg);height:var(--bc-nav-h);box-shadow:0 2px 12px rgba(0,0,0,.35);transition:height .3s;overflow:hidden;} 502#bcHeader371.bc-shrink .bc-nav{height:0;} 503.bc-nav-row{display:flex;align-items:stretch;height:100%;width:100%;} 504.bc-nav-ham{display:flex;align-items:center;justify-content:center;padding:0 14px;cursor:pointer;color:#fff;border-right:2px solid var(--bc-accent);transition:background .2s;flex-shrink:0;background:none;border-top:none;border-bottom:none;border-left:none;} 505.bc-nav-ham:hover{background:rgba(227,6,19,.15);} 506.bc-nav-ham svg{width:17px;height:17px;} 507.bc-mnl{display:flex;align-items:stretch;list-style:none;margin:0;padding:0;flex:1;min-width:0;overflow:hidden;} 508.bc-mna{display:flex;align-items:center;height:100%;gap:6px;padding:0 16px;font-size:var(--bc-menu-sz);font-weight:var(--bc-menu-fw);color:var(--bc-menu-c);text-decoration:none;white-space:nowrap;position:relative;transition:color .18s,background .18s;text-transform:uppercase;letter-spacing:.3px;} 509.bc-mna:hover{color:var(--bc-menu-h);background:rgba(255,255,255,.06);} 510.bc-mna.active{color:#fff;background:var(--bc-menu-active);} 511.bc-mn-badge{background:var(--bc-badge-bg);color:var(--bc-accent);font-size:8.5px;font-weight:900;padding:1px 5px;border-radius:3px;} 512.bc-mna-ad{padding:6px 14px !important;} 513.bc-mn-ad-img{height:26px;width:auto;max-width:110px;object-fit:contain;display:block;} 514.bc-mn-more{position:relative;} 515.bc-mn-more-panel{display:none;position:fixed;z-index:99993;background:var(--bc-panel-bg);min-width:190px;box-shadow:0 12px 34px rgba(0,0,0,.5);z-index:20;flex-direction:column;padding:6px;border:1px solid rgba(255,255,255,.1);} 516.bc-mn-more-panel.bc-open{display:flex;} 517.bc-mn-more-panel a{padding:9px 13px;color:rgba(255,255,255,.85);text-decoration:none;font-size:12.5px;border-radius:5px;} 518.bc-mn-more-panel a:hover{background:rgba(227,6,19,.2);color:#fff;} 519/* YENİ: "Sayfalar" â "DiÄer"den TAMAMEN baÄımsız, kendi baÅına ayrı bir grup. */ 520.bc-mn-pages{position:relative;} 521.bc-mn-pages-panel{display:none;position:fixed;z-index:99993;background:var(--bc-panel-bg);min-width:190px;box-shadow:0 12px 34px rgba(0,0,0,.5);z-index:20;flex-direction:column;padding:6px;border:1px solid rgba(255,255,255,.1);} 522.bc-mn-pages-panel.bc-pages-open{display:flex;} 523.bc-mn-pages-panel a{padding:9px 13px;color:rgba(255,255,255,.85);text-decoration:none;font-size:12.5px;border-radius:5px;} 524.bc-mn-pages-panel a:hover{background:rgba(227,6,19,.2);color:#fff;} 525.bc-nav-gal{display:flex;align-items:center;gap:14px;padding:0 16px;flex-shrink:0;border-left:1px solid rgba(255,255,255,.1);}
526.bc-nav-gal a{display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;color:var(--bc-gal-c);text-decoration:none;text-transform:uppercase;transition:color .2s;} 527.bc-nav-gal a:hover{color:#fff;} 528.bc-nav-gal svg{width:13px;height:13px;} 529 530.logo-wrapper{position:relative;overflow:hidden;display:inline-block;} 531.logo-neon .logo-image{animation:bcNeon var(--animation-interval,60s) ease-in-out infinite;} 532@keyframes bcNeon{0%,100%{filter:none}2%{filter:drop-shadow(0 0 8px #e30613) drop-shadow(0 0 18px #ff4d4d)}4%{filter:none}} 533.logo-shine .logo-wrapper::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.4) 45%,rgba(255,255,255,.85) 50%,rgba(255,255,255,.4) 55%,rgba(255,255,255,0) 100%);transform:rotate(25deg);animation:bcShine var(--animation-interval,60s) linear infinite;} 534@keyframes bcShine{0%,100%{transform:translateX(-150%) rotate(25deg)}2%,4%{transform:translateX(150%) rotate(25deg)}6%,98%{transform:translateX(-150%) rotate(25deg)}} 535.logo-morph .logo-image{animation:bcMorph var(--animation-interval,60s) ease-in-out infinite;} 536@keyframes bcMorph{0%,100%{transform:scale(1)}2%{transform:scale(1.08) rotate(3deg)}4%{transform:scale(1)}} 537 538@media(max-width:1023px){ .bc-mnl{display:none} .bc-nav-gal{display:none} .bc-nav{display:none} } 539@media(max-width:767px){ 540 .bc-soc{display:none}
541 .bc-logo img{height:var(--bc-logo-h-mob);max-width:170px;} 542 /* DÃZELTME: "logo ile hava durumu üst üste biniyor, sol taraf boÅ olmasına raÄmen" â 543 eskiden mobilde de 1fr auto 1fr grid'i kullanılıyordu; sol/saÄ sütunlar (1fr) her 544 zaman eÅit pay almaya çalıÅtıÄı için ORTA sütunu (logo, auto) sıkıÅtırıyordu â logo 545 doÄal boyutunu (~168px) alamayıp 45px'e kadar küçülüyor, saÄ taraftaki içerik 546 (hava durumu vb.) logoya çok yakın/bitiÅik kalıyordu. Artık sol/saÄ SADECE kendi 547 içerikleri kadar yer kaplıyor (auto), logo ise kalan ESNEK alanı (1fr) alıyor â 548 sıkıÅma ve bitiÅiklik ortadan kalkıyor. 549 minmax(0,...) ile: içerik boÅsa gerçekten 0 geniÅlik alır (sahte "boÅ ama dolu" 550 alan kalmaz), içerik varsa kendi doÄal geniÅliÄini korur. */ 551 .bc-main-row{grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);gap:10px;} 552 .bc-left,.bc-right{min-width:0;} 553} 554@media(max-width:430px){ .bc-wx-btn .bc-wx-city{display:none} } 555 556/* ââ Header ilan butonu ââ Menüden BAÄIMSIZ alan: flex-shrink:0 sayesinde yer 557 daralsa bile küçülmez/gizlenmez; menüyü de itip sıkıÅtırmaz. */ 558.bc-ilanbtn{display:flex;align-items:center;gap:7px;flex-shrink:0;margin:0 10px;} 559.bc-ilanbtn-a{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 14px;border-radius:8px; 560 font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;line-height:1; 561 transition:filter .15s,transform .12s,background .15s;} 562.bc-ilanbtn-a i{font-size:12px;} 563.bc-ilanbtn-a:hover{filter:brightness(1.12);transform:translateY(-1px);text-decoration:none;} 564.bc-ilanbtn-solid .bc-ilanbtn-a{background:var(--bc-ilanbtn-bg,#c0392b);color:var(--bc-ilanbtn-txt,#fff);} 565.bc-ilanbtn-outline .bc-ilanbtn-a{background:transparent;color:var(--bc-ilanbtn-bg,#c0392b); 566 border:1.5px solid var(--bc-ilanbtn-bg,#c0392b);} 567.bc-ilanbtn-soft .bc-ilanbtn-a{background:rgba(255,255,255,.16);color:#fff;backdrop-filter:blur(6px);} 568@media(max-width:1100px){ .bc-ilanbtn-a span{display:none;} .bc-ilanbtn-a{padding:0 11px;} } 569@media(max-width:767px){ .bc-ilanbtn-nomob{display:none;} .bc-ilanbtn{margin:0 6px;} } 570 571/* Tekli buton â özel vurgu (Canlı Yayın animasyonlu, diÄer öÄeler renkli) */ 572.bc-ilanbtn-a.bc-ilanbtn-vurgulu{background:var(--bc-ilanbtn-vurgu) !important;color:#fff !important;} 573.bc-ilanbtn-a.bc-ilanbtn-vurgulu i{color:#fff !important;opacity:1;} 574.bc-ilanbtn-a.bc-ilanbtn-canli{ 575 background:var(--bc-ilanbtn-vurgu) !important;color:#fff !important;font-weight:700; 576 box-shadow:0 0 0 0 rgba(220,38,38,.5);animation:bcIlanbtnNabiz 2s infinite; 577} 578.bc-ilanbtn-a.bc-ilanbtn-canli i{color:#fff !important;opacity:1;} 579.bc-ilanbtn-canli-nokta{width:7px;height:7px;border-radius:50%;background:#fff;display:inline-block; 580 animation:bcIlanbtnYanip 1.1s ease-in-out infinite;margin-right:2px;} 581@keyframes bcIlanbtnNabiz{ 582 0%{box-shadow:0 0 0 0 rgba(220,38,38,.55);} 583 70%{box-shadow:0 0 0 7px rgba(220,38,38,0);} 584 100%{box-shadow:0 0 0 0 rgba(220,38,38,0);} 585} 586@keyframes bcIlanbtnYanip{0%,100%{opacity:1;}50%{opacity:.25;}} 587@media(prefers-reduced-motion:reduce){ 588 .bc-ilanbtn-a.bc-ilanbtn-canli{animation:none;} 589 .bc-ilanbtn-canli-nokta{animation:none;} 590} 591</style> 592
593<script>document.body.dataset.darkLogoSrc = 'https://mobil13.com.tr/uploads/logo/6910cea3aeb32.png';</script>
593 594 595<header class="bc app-header header-broadcast" id="bcHeader371" role="banner" data-style-group="header" data-widget-id="371"> 596 <div class="bc-main"> 597 <div class="bc-c-371 bc-main-row"> 598 <div class="bc-left"> 599 <span class="bc-date" data-content-key="show_datetime">ÃarÅamba, 30 Eylül</span> 600 </div> 601 602 <div class="bc-logo-wrap"> 603 <a href="/" class="bc-logo logo-animated logo-shine" 604 data-interval="60" 605 title="mobil13 - Mobil Telefon ve Teknoloji Haberleri"> 606 <div class="logo-wrapper"><img class="logo-image" src="https://mobil13.com.tr/uploads/logo/6910cea3aeb32.png" alt="mobil13 - Mobil Telefon ve Teknoloji Haberleri" data-style-group="logo"></div> 607 </a> 608 </div> 609 610 <div class="bc-right"> 611 <button type="button" class="bc-wx-btn hdr-wx-anim" data-action="bc-toggle-weather" data-content-key="show_weather"> 612 <i class="wi wi-day-sunny"></i> 613 <span class="bc-wx-city">İzmir</span> 614 <span class="bc-wx-temp">38°C</span> 615 <div class="bc-wx-panel" data-wx-panel onclick="event.stopPropagation()"> 616 <input type="text" class="bc-wx-panel-search" placeholder="Åehir ara..." data-wx-search> 617 <div class="bc-wx-panel-list" data-wx-list><div class="bc-wx-panel-loading">Åehir aramak için yazın...</div></div> 618 </div> 619 </button> 620 621 622 <div class="bc-soc" data-content-key="show_social_icons"> 623 <a href="https://facebook.com/mobil13com/" target="_blank" rel="noopener" title="Facebook"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"/></svg></a><a href="https://x.com/yorumlanet" target="_blank" rel="noopener" title="X (Twitter)"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg></a><a href="https://instagram.com/" target="_blank" rel="noopener" title="Instagram"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z"/></svg></a><a href="https://youtube.com/" target="_blank" rel="noopener" title="YouTube"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M23.8 7.2s-.2-1.7-1-2.4c-.9-1-1.9-1-2.4-1-3.4-.2-8.4-.2-8.4-.2s-5 0-8.4.2c-.5.1-1.5.1-2.4 1-.7.7-1 2.4-1 2.4S0 9.1 0 11.1v1.8c0 1.9.2 3.9.2 3.9s.2 1.7 1 2.4c.9 1 2.1.9 2.6 1 1.9.2 8.2.2 8.2.2s5 0 8.4-.2c.5-.1 1.5-.1 2.4-1 .7-.7 1-2.4 1-2.4s.2-1.9.2-3.9V11c0-1.9-.2-3.8-.2-3.8zM9.5 15.1V8.4l6.5 3.4-6.5 3.3z"/></svg></a> </div> 624 <button class="bc-srch" data-action="open-search" aria-label="Ara" data-content-key="show_search"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/></svg></button> 625 <button class="bc-ham" data-action="open-menu" aria-label="Menü"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M4 6h16M4 12h16M4 18h16"/></svg></button> 626 </div> 627 </div> 628 </div> 629 630 <nav class="bc-nav" aria-label="Ana Navigasyon" data-style-group="navigation"> 631 <div class="bc-c-371 bc-nav-row"> 632 <div class="bc-nav-ham" data-action="open-menu" role="button" aria-label="Menü"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
632<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M4 6h16M4 12h16M4 18h16"/></svg></div> 633 <ul class="bc-mnl"> 634 <li><a href="/nasil-yapilir" target="_self" class="bc-mna "> 635 NASIL YAPILIR? </a></li> 636 <li><a href="/akilli-telefon" target="_self" class="bc-mna "> 637 AKILLI TELEFON </a></li> 638 <li><a href="/oyun" target="_self" class="bc-mna "> 639 OYUN </a></li> 640 <li><a href="/teknoloji" target="_self" class="bc-mna "> 641 TEKNOLOJİ </a></li> 642 <li><a href="/otomobil" target="_self" class="bc-mna "> 643 OTOMOBİL </a></li> 644 <li><a href="/inceleme" target="_self" class="bc-mna "> 645 İNCELEME </a></li> 646 </ul> 647 <div class="bc-nav-gal" data-content-key="show_gallery_links"> 648 <a href="/video-galeri" data-content-key="show_video_gallery"><svg fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"/><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z"/></svg>Video</a> 649 </div> 650 </div> 651 </nav> 652 653 654</header> 655<div class="bc-spacer" id="bcSpacer371"></div> 656
657<script> 658(function(){ 659 var wi = '371'; 660 var hdr = document.getElementById('bcHeader' + wi); 661 if (!hdr) return; 662 663 // DÃZELTME (KRİTİK): sayfa bir HTML önbellek katmanından (HTMLCache) gelmiÅ 664 // olabilir â bu durumda sunucu tarafı render, TÃM ziyaretçilere aynı, önceden 665 // oluÅturulmuÅ HTML'i sunar; ziyaretçinin çerezdeki GERÃEK il tercihini asla 666 // yansıtamaz ("ili deÄiÅtirdim ama hafızada tutmadı" Åikayetinin kök nedeni â 667 // önbellek varsa PHP tarafındaki çerez okuma hiç çalıÅma Åansı bulamaz). Bu 668 // yüzden sayfa her açıldıÄında, İSTEMCİ tarafında çerez kontrol edilip, varsa 669 // gerçek zamanlı AJAX ile o ilin hava durumu çekilip ekran güncelleniyor â 670 // önbellek ne gösterirse göstersin, ziyaretçi HER ZAMAN kendi seçtiÄi ili görür. 671 (function(){ 672 function getCookie(name) { 673 var m = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)')); 674 return m ? decodeURIComponent(m[2]) : null; 675 } 676 var savedCityId = getCookie('wx_city_id'); 677 if (!savedCityId) return; 678 fetch('/api/weather-search.php?city_id=' + encodeURIComponent(savedCityId)) 679 .then(function(r){ return r.json(); }) 680 .then(function(cd){ 681 if (!cd || !cd.city) return; 682 var cityEl = hdr.querySelector('.bc-wx-city'); 683 var tempEl = hdr.querySelector('.bc-wx-temp'); 684 var icoEl = hdr.querySelector('.bc-wx-btn i'); 685 if (cityEl) cityEl.textContent = cd.city; 686 if (tempEl) tempEl.textContent = cd.temperature + '°C'; 687 if (icoEl && cd.icon) icoEl.className = 'wi ' + cd.icon; 688 }) 689 .catch(function(){ /* sessizce yok say, önbellekteki varsayılan görünüm kalır */ }); 690 })(); 691 var STICKY_ON = true; 692 var SHRINK_AT = 80, ticking = false; 693 var spacer = document.getElementById('bcSpacer' + wi); 694 function onScroll(){ 695 var y = window.pageYOffset; 696 if (!STICKY_ON) { hdr.classList.remove('bc-fixed','bc-shrink'); if(spacer) spacer.classList.remove('bc-on'); ticking=false; return; } 697 if (y > SHRINK_AT) { 698 if (!hdr.classList.contains('bc-fixed')) { 699 var baseH = hdr.offsetHeight; 700 if (spacer) { spacer.style.height = baseH + 'px'; spacer.classList.add('bc-on'); } 701 hdr.classList.add('bc-fixed'); 702 } 703 hdr.classList.add('bc-shrink'); 704 } else { 705 hdr.classList.remove('bc-fixed','bc-shrink'); 706 if (spacer) spacer.classList.remove('bc-on'); 707 } 708 ticking = false; 709 } 710 window.addEventListener('scroll', function(){ if(!ticking){ requestAnimationFrame(onScroll); ticking = true; } }, {passive:true}); 711 window.addEventListener('resize', function(){ if(spacer && spacer.classList.contains('bc-on')) { spacer.style.height = hdr.offsetHeight + 'px'; } }); 712 onScroll(); 713 714 var wxBtn = hdr.querySelector('[data-action="bc-toggle-weather"]'); 715 var wxPanel = hdr.querySelector('[data-wx-panel]'); 716 if (wxBtn && wxPanel) { 717 if (wxPanel.parentElement !== document.body) { document.body.appendChild(wxPanel); } 718 function positionWxPanel(){ 719 var r = wxBtn.getBoundingClientRect(); 720 var pw = wxPanel.offsetWidth || 280; 721 var left = Math.min(r.left, window.innerWidth - pw - 8); 722 wxPanel.style.left = Math.max(8, left) + 'px'; 723 wxPanel.style.top = (r.bottom + 8) + 'px'; 724 } 725 wxBtn.addEventListener('click', function(e){ 726 e.stopPropagation(); 727 var willOpen = !wxPanel.classList.contains('bc-open'); 728 wxPanel.classList.toggle('bc-open'); 729 if (willOpen) positionWxPanel(); 730 }); 731 var wxSearch = wxPanel.querySelector('[data-wx-search]'); 732 var wxList = wxPanel.querySelector('[data-wx-list]'); 733 var wxTimer = null; 734 if (wxSearch) { 735 wxSearch.addEventListener('input', function(){ 736 clearTimeout(wxTimer); 737 var q = this.value.trim(); 738 if (q.length < 2) { wxList.innerHTML = '<div class="bc-wx-panel-loading">En az 2 harf yazın...</div>'; return; } 739 wxList.innerHTML = '<div class="bc-wx-panel-loading">Aranıyor...</div>'; 740 wxTimer = setTimeout(function(){ 741 fetch('/api/weather-search.php?q=' + encodeURIComponent(q)).then(function(r){return r.json();}).then(function(data){ 742 if (!data || !data.cities || !data.cities.length) { wxList.innerHTML = '<div class="bc-wx-panel-loading">Sonuç bulunamadı.</div>'; return; } 743 wxList.innerHTML = data.cities.map(function(c){ return '<div class="bc-wx-panel-item" data-city-id="'+c.id+'"><span>'+c.name+'</span><span>'+(c.temperature!=null?c.temperature+'°C':'')+'</span></div>'; }).join(''); 744 wxList.querySelectorAll('.bc-wx-panel-item').forEach(function(item){ 745 item.addEventListener('click', function(e){ 746 e.stopPropagation(); 747 // YENİ: seçilen il bir çerezde saklanıyor â ziyaretçi sayfayı yeniden 748 // yüklediÄinde site genelindeki sabit varsayılan il yerine kendi seçtiÄi il görünsün. 749 var wxCityId = this.dataset.cityId; 750 document.cookie = 'wx_city_id=' + encodeURIComponent(wxCityI
750d) + ';path=/;max-age=31536000;SameSite=Lax'; 751 fetch('/api/weather-search.php?city_id=' + encodeURIComponent(wxCityId)).then(function(r){return r.json();}).then(function(cd){ 752 if (!cd || !cd.city) return; 753 hdr.querySelector('.bc-wx-city').textContent = cd.city; 754 hdr.querySelector('.bc-wx-temp').textContent = cd.temperature + '°C'; 755 var icoEl = hdr.querySelector('.bc-wx-btn i'); if (icoEl && cd.icon) icoEl.className = 'wi ' + cd.icon; 756 wxPanel.classList.remove('bc-open'); 757 }); 758 }); 759 }); 760 }).catch(function(){ wxList.innerHTML = '<div class="bc-wx-panel-loading">Bir hata oluÅtu.</div>'; }); 761 }, 350); 762 }); 763 } 764 document.addEventListener('click', function(e){ if (!wxPanel.contains(e.target) && !wxBtn.contains(e.target)) wxPanel.classList.remove('bc-open'); }); 765 } 766 767 var moreLi = hdr.querySelector('.bc-mn-more'); 768 if (moreLi) { 769 // DÃZELTME: "mouse üzerine gelince açılmalı" â eskiden SADECE tıklama ile açılıyordu. 770 // Artık masaüstünde fareyle üzerine gelince (mouseenter) hemen açılıyor, fare 771 // ayrılınca (mouseleave) kısa bir gecikmeyle kapanıyor (panele geçme Åansı için). 772 // Dokunmatik cihazlarda hover olmadıÄı için tıklama davranıÅı da YEDEK olarak korunuyor. 773 // DÃZELTME: panel .bc-mnl'in "overflow-x:auto" kuralı yüzünden (CSS spec gereÄi bu, 774 // overflow-y'yi de örtük olarak "clip" yapar) görsel olarak KESİLİYORDU â kullanıcı panele 775 // tıklıyor/hover ediyor, class ekleniyor ("açık" oluyor) ama panel görünmüyordu ("tıklasam 776 // da üzerine gelsem çalıÅmıyor" Åikayetinin kanıtlanmıŠkök nedeni). Market/hava durumu 777 // panellerinde kullanılan aynı güvenilir yöntemle, panel artık document.body'ye taÅınıyor. 778 var bcMorePanel = moreLi.querySelector('.bc-mn-more-panel'); 779 if (bcMorePanel.parentElement !== document.body) document.body.appendChild(bcMorePanel); 780 function bcPositionMore(){ 781 var r = moreLi.getBoundingClientRect(); 782 var pw = bcMorePanel.offsetWidth || 190; 783 var left = Math.min(r.left, window.innerWidth - pw - 8); 784 bcMorePanel.style.left = Math.max(8, left) + 'px'; 785 bcMorePanel.style.top = (r.bottom + 8) + 'px'; 786 } 787 // DÃZELTME: fare butondan panele doÄru hareket ederken (aralarında 8px boÅluk 788 // olsa bile) panel kapanıyordu â çünkü SADECE buton (moreLi) mouseenter/leave 789 // dinliyordu; panelin kendisi hiç dinlemediÄi için fare panelin üzerine ulaÅsa 790 // bile kapanma sayacı hiç iptal edilmiyordu ("hakkımızda üzerine gelince hemen 791 // kapanıyor" Åikayetinin kök nedeni). Artık panelin kendisi de aynı sayacı 792 // iptal ediyor/baÅlatıyor â fare buton ile panel arasında her ne kadar boÅluk 793 // olursa olsun, panele ulaÅtıÄı sürece açık kalır. 794 var bcMoreCloseTimer = null; 795 function bcMoreCancelClose(){ clearTimeout(bcMoreCloseTimer); } 796 function bcMoreScheduleClose(){ bcMoreCloseTimer = setTimeout(function(){ bcMorePanel.classList.remove('bc-open'); }, 250); } 797 moreLi.addEventListener('mouseenter', function(){ bcMoreCancelClose(); bcMorePanel.classList.add('bc-open'); bcPositionMore(); }); 798 moreLi.addEventListener('mouseleave', bcMoreScheduleClose); 799 bcMorePanel.addEventListener('mouseenter', bcMoreCancelClose); 800 bcMorePanel.addEventListener('mouseleave', bcMoreScheduleClose); 801 moreLi.querySelector('a').addEventListener('click', function(e){ e.preventDefault(); e.stopPropagation(); var willOpen = !bcMorePanel.classList.contains('bc-open'); bcMorePanel.classList.toggle('bc-open'); if (willOpen) bcPositionMore(); }); 802 document.addEventListener('click', function(e){ if (!moreLi.contains(e.target) && !bcMorePanel.contains(e.target)) bcMorePanel.classList.remove('bc-open'); }); 803 window.addEventListener('resize', function(){ if (bcMorePanel.classList.contains('bc-open')) bcPositionMore(); }); 804 } 805 806 var pagesLi = hdr.querySelector('.bc-mn-pages'); 807 if (pagesLi) { 808 // "Sayfalar" â "DiÄer" ile TAMAMEN baÄımsız, aynı güvenilir açma/kapama mekanizması. 809 var bcPagesPanel = pagesLi.querySelector('.bc-mn-pages-panel'); 810 if (bcPagesPanel.parentElement !== document.body) document.body.appendChild(bcPagesPanel); 811 function bcPositionPages(){ 812 var r = pagesLi.getBoundingClientRect(); 813 var pw = bcPagesPanel.offsetWidth || 190; 814 var left = Math.min(r.left, window.innerWidth - pw - 8); 815 bcPagesPanel.style.left = Math.max(8, left) + 'px'; 816 bcPagesPanel.style.top = (r.bottom + 8) + 'px'; 817 } 818 // DÃZELTME: fare butondan panele doÄru hareket ederken (aralarında 8px boÅluk 819 // olsa bile) panel kapanıyordu â çünkü SADECE buton (pagesLi) mouseenter/leave 820 // dinliyordu;
820 panelin kendisi hiç dinlemediÄi için fare panelin üzerine ulaÅsa 821 // bile kapanma sayacı hiç iptal edilmiyordu ("hakkımızda üzerine gelince hemen 822 // kapanıyor" Åikayetinin kök nedeni). Artık panelin kendisi de aynı sayacı 823 // iptal ediyor/baÅlatıyor â fare buton ile panel arasında her ne kadar boÅluk 824 // olursa olsun, panele ulaÅtıÄı sürece açık kalır. 825 var bcPagesCloseTimer = null; 826 function bcPagesCancelClose(){ clearTimeout(bcPagesCloseTimer); } 827 function bcPagesScheduleClose(){ bcPagesCloseTimer = setTimeout(function(){ bcPagesPanel.classList.remove('bc-pages-open'); }, 250); } 828 pagesLi.addEventListener('mouseenter', function(){ bcPagesCancelClose(); bcPagesPanel.classList.add('bc-pages-open'); bcPositionPages(); }); 829 pagesLi.addEventListener('mouseleave', bcPagesScheduleClose); 830 bcPagesPanel.addEventListener('mouseenter', bcPagesCancelClose); 831 bcPagesPanel.addEventListener('mouseleave', bcPagesScheduleClose); 832 pagesLi.querySelector('a').addEventListener('click', function(e){ e.preventDefault(); e.stopPropagation(); var willOpen = !bcPagesPanel.classList.contains('bc-pages-open'); bcPagesPanel.classList.toggle('bc-pages-open'); if (willOpen) bcPositionPages(); }); 833 document.addEventListener('click', function(e){ if (!pagesLi.contains(e.target) && !bcPagesPanel.contains(e.target)) bcPagesPanel.classList.remove('bc-pages-open'); }); 834 window.addEventListener('resize', function(){ if (bcPagesPanel.classList.contains('bc-pages-open')) bcPositionPages(); }); 835 } 836 837 hdr.querySelectorAll('.logo-animated').forEach(function(el){ 838 var iv=parseInt(el.dataset.interval||60)*1000; 839 el.style.setProperty('--animation-interval',iv+'ms'); 840 function rst(){el.classList.forEach(function(c){if(c.startsWith('logo-')){el.classList.remove(c);void el.offsetWidth;el.classList.add(c);}});} 841 rst();setInterval(function(){rst();setTimeout(rst,1000);},iv); 842 }); 843})(); 844</script>
844</div><style id="aladag-site-genislet"> 845:root { --container-max-width: 100% !important; } 846.container, 847.aladag-container { 848 max-width: 100% !important; 849 width: 100% !important; 850 padding-left: clamp(12px, 2vw, 40px) !important; 851 padding-right: clamp(12px, 2vw, 40px) !important; 852 box-sizing: border-box !important; 853} 854/* MSN ManÅet Slider widget'ı KENDİ İÃİNDE "max-width:1200px; margin:0 auto;" ile 855 sabitlenmiÅ durumda (kendi template.php'sinde). Sınıf adı her örnekte 856 "msn-manset-{benzersiz-id}" Åeklinde DEÄİÅTİÄİ için tek tek hedeflenemez â 857 bunun yerine [class^="..."] ile "BU ÃNEKLE BAÅLAYAN" tüm sınıfları, hangi 858 widget örneÄi olursa olsun, MSN ManÅet dosyalarına Hİà DOKUNMADAN yakalıyoruz. 859 Sadece "Siteyi GeniÅlet" AÃIKKEN devreye girer â widget'ın normal/varsayılan 860 davranıÅı (örn. kenar çubuÄunda kullanıldıÄında) Hİà ETKİLENMEZ. */ 861[class^="msn-manset-"] { 862 max-width: 100% !important; 863 margin-left: 0 !important; 864 margin-right: 0 !important; 865} 866</style> 867 868<style> 869#cc-371-banner{ 870 position:fixed;left:0;right:0;bottom:0;z-index:99998; 871 background:#111827;color:#e5e7eb; 872 padding:16px 20px;box-shadow:0 -4px 24px rgba(0,0,0,.25); 873 display:none;font-size:13.5px;line-height:1.55; 874 /* position:fixed â belge akıÅını ETKİLEMEZ, CLS katkısı SIFIRDIR */ 875} 876#cc-371-banner.cc-gorunur{display:block;animation:ccYukselis .35s ease-out;} 877@keyframes ccYukselis{from{transform:translateY(100%);}to{transform:translateY(0);}} 878#cc-371-banner .cc-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap;} 879#cc-371-banner .cc-metin{flex:1;min-width:240px;color:#e5e7eb;} 880#cc-371-banner .cc-metin a{color:#93c5fd;text-decoration:underline;} 881#cc-371-banner .cc-btns{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0;} 882#cc-371-banner button{ 883 border:0;border-radius:7px;padding:9px 16px;font-size:13px;font-weight:600;cursor:pointer; 884 transition:filter .15s,transform .15s;white-space:nowrap;font-family:inherit; 885} 886#cc-371-banner button:hover{filter:brightness(1.12);transform:translateY(-1px);} 887#cc-371-banner button:focus-visible{outline:2px solid #93c5fd;outline-offset:2px;} 888#cc-371-banner .cc-reddet{background:#374151;color:#e5e7eb;} 889#cc-371-banner .cc-yonet{background:transparent;color:#93c5fd;border:1px solid #4b5563;} 890#cc-371-banner .cc-kabul{background:#16a34a;color:#fff;} 891@media(max-width:640px){ 892 #cc-371-banner .cc-inner{flex-direction:column;align-items:stretch;} 893 #cc-371-banner .cc-btns{width:100%;} 894 #cc-371-banner .cc-btns button{flex:1;} 895} 896 897/* ââ Tercihleri Yönet modalı ââ */ 898#cc-371-modal-overlay{ 899 position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.55); 900 display:none;align-items:center;justify-content:center;padding:20px; 901} 902#cc-371-modal-overlay.cc-gorunur{display:flex;} 903#cc-371-modal{ 904 background:#fff;color:#111827;border-radius:14px;max-width:560px;width:100%; 905 max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.35); 906} 907#cc-371-modal .cc-modal-head{padding:20px 24px;border-bottom:1px solid #e5e7eb; 908 display:flex;align-items:center;justify-content:space-between;} 909#cc-371-modal .cc-modal-head h2{font-size:17px;font-weight:800;margin:0;color:#111827;} 910#cc-371-modal .cc-kapat{background:none;border:0;font-size:22px;line-height:1;color:#9ca3af;cursor:pointer;padding:4px 8px;border-radius:6px;} 911#cc-371-modal .cc-kapat:hover{background:#f3f4f6;color:#111827;} 912#cc-371-modal .cc-modal-body{padding:20px 24px;} 913#cc-371-modal .cc-aciklama{font-size:13px;color:#4b5563;line-height:1.6;margin-bottom:18px;} 914#cc-371-modal .cc-aciklama a{color:#2563eb;text-decoration:underline;} 915#cc-371-modal .cc-kategori{display:flex;align-items:flex-start;justify-content:space-between;gap:16px; 916 padding:14px 0;border-bottom:1px solid #f3f4f6;} 917#cc-371-modal .cc-kategori:last-child{border-bottom:0;} 918#cc-371-modal .cc-kategori-metin{flex:1;} 919#cc-371-modal .cc-kategori-baslik{font-weight:700;font-size:14px;color:#111827;margin-bottom:3px;} 920#cc-371-modal .cc-kategori-aciklama{font-size:12.5px;color:#6b7280;line-height:1.5;} 921#cc-371-modal .cc-switch{position:relative;width:44px;height:24px;flex-shrink:0;margin-top:2px;} 922#cc-371-modal .cc-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;} 923#cc-371-modal .cc-switch .cc-track{position:absolute;inset:0;background:#d1d5db;border-radius:999px;transition:background .2s;pointer-events:none;} 924#cc-371-modal .cc-switch .cc-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%; 925 transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.3);pointer-events:none;} 926#cc-371-modal .cc-switch input:checked ~ .cc-track{background:#16a34a;} 927#cc-371-modal .cc-switch input:checked ~ .cc-thumb{transform:translateX(20px);} 928#cc-371-modal .cc-switch input:disabled ~ .cc-track{background:#86efac;cursor:not-allowed;} 929#cc-371-modal .cc-switch input:focus-visible ~ .cc-track{outline:2px solid #2563eb;outline-offset:2px;} 930#cc-371-modal .cc-modal-foot{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;} 931#cc-371-modal .cc-modal-foot button{border:0;border-radius:7px;padding:10px 18px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:inherit;} 932#cc-371-modal .cc-foot-reddet{background:#f3f4f6;color:#374151;} 933#cc-371-modal .cc-foot-reddet:hover{background:#e5e7eb;} 934#cc-371-modal .cc-foot-kaydet{background:#111827;color:#fff;} 935#cc-371-modal .cc-foot-kaydet:hover{background:#1f2937;} 936#cc-371-modal .cc-foot-kabul{background:#16a34a;color:#fff;} 937#cc-371-modal .cc-foot-kabul:hover{background:#15803d;} 938body.cc-modal-acik{overflow:hidden;} 939</style> 940 941<div id="cc-371-banner" class="cc-banner" role="region" aria-label="Ãerez onayı"> 942 <div class="cc-inner"> 943 <div class="cc-metin"> 944 Deneyimini iyileÅtirmek ve içeriÄimizi geliÅtirmek için çerezler kullanıyoruz. Zorunlu çerezler her zaman çalıÅır; diÄerleri yalnızca onayınla. </div> 945 <div class="cc-btns"> 946 <button type="button" class="cc-reddet" id="cc-371-btn-reddet">Tümünü reddet</button> 947 <button type="button" class="cc-yonet" id="cc-371-btn-yonet" aria-haspopup="dialog" aria-controls="cc-371-modal">Tercihleri yönet</button> 948 <button type="button" class="cc-kabul" id="cc-371-btn-kabul">Tümünü kabul et</button> 949 </div> 950 </div> 951</div> 952 953<div id="cc-371-modal-overlay"> 954 <div id="cc-371-modal" role="dialog" aria-modal="true" aria-labelledby="cc-371-modal-baslik"> 955 <div class="cc-modal-head"> 956 <h2 id="cc-371-modal-baslik">Ãerez Tercihleri</h2> 957 <button type="button" class="cc-kapat" id="cc-371-btn-kapat" aria-label="Kapat">×</button> 958 </div> 959 <div class="cc-modal-body"> 960 <p class="cc-aciklama"> 961 Deneyimini iyileÅtirmek ve içeriÄimizi geliÅtirmek için isteÄe baÄlı analitik çerezler kullanmak istiyoruz. 962 Zorunlu çerezler her zaman çalıÅır; diÄerleri yalnızca onayınla. 963 </p> 964 965 <div class="cc-kategori"> 966 <div class="cc-kategori-metin"> 967 <div class="cc-kategori-baslik">Zorunlu <span style="font-weight:400;color:#9ca3af;">(her zaman aktif)</span></div> 968 <div class="cc-kategori-aciklama">Sitenin çalıÅması için gerekli; her zaman aktif.</div> 969 </div> 970 <label class="cc-switch"> 971 <input type="checkbox" checked disabled aria-label="Zorunlu çerezler â her zaman aktif">
972 <span class="cc-track"></span><span class="cc-thumb"></span> 973 </label> 974 </div> 975 976 <div class="cc-kategori"> 977 <div class="cc-kategori-metin"> 978 <div class="cc-kategori-baslik">Analitik</div> 979 <div class="cc-kategori-aciklama">Ziyaret istatistikleri ve site iyileÅtirme â Google Analytics, Microsoft Clarity (oturum kaydı).</div> 980 </div> 981 <label class="cc-switch"> 982 <input type="checkbox" id="cc-371-sw-analitik" aria-label="Analitik çerezlerine izin ver"> 983 <span class="cc-track"></span><span class="cc-thumb"></span> 984 </label> 985 </div> 986 987 <div class="cc-kategori"> 988 <div class="cc-kategori-metin"> 989 <div class="cc-kategori-baslik">Pazarlama</div> 990 <div class="cc-kategori-aciklama">İlgi alanına göre reklam ve ölçümleme â Meta, LinkedIn, X, Google Ads, TikTok.</div> 991 </div> 992 <label class="cc-switch"> 993 <input type="checkbox" id="cc-371-sw-pazarlama" aria-label="Pazarlama çerezlerine izin ver"> 994 <span class="cc-track"></span><span class="cc-thumb"></span> 995 </label> 996 </div> 997 </div> 998 <div class="cc-modal-foot"> 999 <button type="button" class="cc-foot-reddet" id="cc-371-btn-modal-reddet">Tümünü reddet</button> 1000 <button type="button" class="cc-foot-kaydet" id="cc-371-btn-modal-kaydet">Seçimi kaydet</button> 1001 <button type="button" class="cc-foot-kabul" id="cc-371-btn-modal-kabul">Tümünü kabul et</button> 1002 </div> 1003 </div> 1004</div> 1005
1006<script> 1007(function(){ 1008 var WI = "cc-371"; 1009 var ANAHTAR = 'aladag_cookie_consent'; 1010 var banner = document.getElementById(WI + '-banner'); 1011 var overlay = document.getElementById(WI + '-modal-overlay'); 1012 var modal = document.getElementById(WI + '-modal'); 1013 var swAnalitik = document.getElementById(WI + '-sw-analitik'); 1014 var swPazarlama = document.getElementById(WI + '-sw-pazarlama'); 1015 var sonOdakElemani = null; 1016 1017 function oku() { 1018 try { 1019 var ham = localStorage.getItem(ANAHTAR); 1020 return ham ? JSON.parse(ham) : null; 1021 } catch (e) { return null; } 1022 } 1023 function yaz(tercihler) { 1024 var kayit = { 1025 necessary: true, 1026 analytics: !!tercihler.analytics, 1027 marketing: !!tercihler.marketing, 1028 timestamp: new Date().toISOString(), 1029 }; 1030 try { localStorage.setItem(ANAHTAR, JSON.stringify(kayit)); } catch (e) {} 1031 // DİÄER BETİKLER (GA, Meta Pixel vb.) bu olayı dinleyerek onaya göre 1032 // KOÅULLU çalıÅabilir â sayfanın herhangi bir yerinde: 1033 // document.addEventListener('aladag:consent-updated', function(e){ 1034 // if (e.detail.analytics) { /* GA/gtag baÅlat */ } 1035 // }); 1036 document.dispatchEvent(new CustomEvent('aladag:consent-updated', { detail: kayit })); 1037 return kayit; 1038 } 1039 1040 function bannerGoster() { banner.classList.add('cc-gorunur'); } 1041 function bannerGizle() { banner.classList.remove('cc-gorunur'); } 1042 1043 function modalAc(tetikleyenBtn) { 1044 sonOdakElemani = tetikleyenBtn || document.activeElement; 1045 var mevcut = oku(); 1046 swAnalitik.checked = mevcut ? !!mevcut.analytics : false; 1047 swPazarlama.checked = mevcut ? !!mevcut.marketing : false; 1048 overlay.classList.add('cc-gorunur'); 1049 document.body.classList.add('cc-modal-acik'); 1050 modal.querySelector('.cc-kapat').focus(); 1051 document.addEventListener('keydown', tusDinleyici); 1052 } 1053 function modalKapat() { 1054 overlay.classList.remove('cc-gorunur'); 1055 document.body.classList.remove('cc-modal-acik'); 1056 document.removeEventListener('keydown', tusDinleyici); 1057 if (sonOdakElemani && typeof sonOdakElemani.focus === 'function') { sonOdakElemani.focus(); } 1058 } 1059 function tusDinleyici(e) { 1060 if (e.key === 'Escape') { modalKapat(); return; } 1061 // Basit odak tuzaÄı (focus trap): Tab modal dıÅına çıkmasın. 1062 if (e.key === 'Tab') { 1063 var odaklanabilirler = modal.querySelectorAll('button, input:not([disabled])'); 1064 var ilk = odaklanabilirler[0], son = odaklanabilirler[odaklanabilirler.length - 1]; 1065 if (e.shiftKey && document.activeElement === ilk) { e.preventDefault(); son.focus(); } 1066 else if (!e.shiftKey && document.activeElement === son) { e.preventDefault(); ilk.focus(); } 1067 } 1068 } 1069 1070 document.getElementById(WI + '-btn-kabul').addEventListener('click', function(){ 1071 yaz({ analytics: true, marketing: true }); bannerGizle(); 1072 }); 1073 document.getElementById(WI + '-btn-reddet').addEventListener('click', function(){ 1074 yaz({ analytics: false, marketing: false }); bannerGizle(); 1075 }); 1076 document.getElementById(WI + '-btn-yonet').addEventListener('click', function(e){ modalAc(e.currentTarget); }); 1077 document.getElementById(WI + '-btn-kapat').addEventListener('click', modalKapat); 1078 overlay.addEventListener('click', function(e){ if (e.target === overlay) { modalKapat(); } }); 1079 1080 document.getElementById(WI + '-btn-modal-kabul').addEventListener('click', function(){ 1081 yaz({ analytics: true, marketing: true }); bannerGizle(); modalKapat(); 1082 }); 1083 document.getElementById(WI + '-btn-modal-reddet').addEventListener('click', function(){ 1084 yaz({ analytics: false, marketing: false }); bannerGizle(); modalKapat(); 1085 }); 1086 document.getElementById(WI + '-btn-modal-kaydet').addEventListener('click', function(){ 1087 yaz({ analytics: swAnalitik.checked, marketing: swPazarlama.checked }); bannerGizle(); modalKapat(); 1088 }); 1089 1090 // Sayfa açılıÅında: daha önce karar verilmemiÅse banner'ı göster. 1091 var mevcutKarar = oku(); 1092 if (!mevcutKarar) { bannerGoster(); } 1093 1094 // ââ GENEL API â diÄer betikler (GA/Meta Pixel gibi) bunu kullanabilir ââ 1095 window.aladagCookieConsent = window.aladagCookieConsent || { 1096 get: oku, 1097 has: function(kategori) { var k = oku(); return !!(k && k[kategori]); }, 1098 onChange: function(fn) { document.addEventListener('aladag:consent-updated', function(e){ fn(e.detail); }); }, 1099 reopen: function() { modalAc(); }, 1100 }; 1101})(); 1102</script>
vendor: 1 bytes, line 1102
1102
1103<script> 1104// CSS'in yüklenip yüklenmediÄini kontrol et 1105document.addEventListener('DOMContentLoaded', function() { 1106 const themeCss = document.getElementById('header-theme-css'); 1107 if (themeCss) { 1108 console.log('Theme CSS loaded:', themeCss.href); 1109 1110 // CSS dosyasını kontrol et 1111 fetch(themeCss.href) 1112 .then(response => { 1113 if (!response.ok) { 1114 console.error('Theme CSS not found:', themeCss.href); 1115 } else { 1116 console.log('Theme CSS file exists'); 1117 } 1118 }) 1119 .catch(error => { 1120 console.error('Error checking theme CSS:', error); 1121 }); 1122 } else { 1123 console.error('Theme CSS element not found'); 1124 } 1125}); 1126</script>
1126 1127<style id="sr-css"> 1128#hdrSearch,#hdrSearch *{box-sizing:border-box;} 1129#hdrSearch{ 1130 --sr-bg: var(--sb-theme-bg, #ffffff); 1131 --sr-bg2: var(--sb-theme-bg2, #f8f9fb); 1132 --sr-text: var(--sb-theme-text, #1f2937); 1133 --sr-muted: var(--sb-theme-muted, #6b7280); 1134 --sr-accent: var(--sb-theme-accent, #c0392b); 1135 --sr-border: var(--sb-theme-border, rgba(0,0,0,.08)); 1136 --sr-hover: var(--sb-theme-hover, rgba(0,0,0,.04)); 1137 position:fixed;top:0;left:0;right:0;width:100%;z-index:99992; 1138 background:var(--sr-bg);border-bottom:2px solid var(--sr-accent); 1139 box-shadow:0 12px 34px rgba(0,0,0,.16); 1140 font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; 1141 transform:translateY(-102%);opacity:0;visibility:hidden; 1142 transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .24s; 1143} 1144#hdrSearch.sr-on{transform:translateY(0);opacity:1;visibility:visible;} 1145#hdrSearchOv{position:fixed;inset:0;background:rgba(10,12,20,.5);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:99989;opacity:0;visibility:hidden;transition:opacity .28s;} 1146#hdrSearchOv.sr-on{opacity:1;visibility:visible;} 1147 1148.sr-wrap{max-width:var(--container-max-width,1200px);margin:0 auto;padding:16px 20px;} 1149.sr-row{display:flex;align-items:center;gap:12px;} 1150.sr-field{flex:1;position:relative;display:flex;align-items:center;} 1151.sr-field > i{position:absolute;left:15px;color:var(--sr-muted);font-size:14px;pointer-events:none;} 1152.sr-input{width:100%;padding:14px 16px 14px 42px;border:1.5px solid var(--sr-border);border-radius:11px; 1153 font-size:15px;background:var(--sr-bg2);color:var(--sr-text);outline:none;transition:border-color .2s,box-shadow .2s;} 1154.sr-input::placeholder{color:var(--sr-muted);} 1155.sr-input:focus{border-color:var(--sr-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--sr-accent) 18%, transparent);} 1156.sr-go{padding:14px 26px;border:none;border-radius:11px;background:var(--sr-accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:transform .18s,filter .18s;flex-shrink:0;} 1157.sr-go:hover{transform:translateY(-1px);filter:brightness(1.08);} 1158.sr-x{width:44px;height:44px;flex-shrink:0;border:1.5px solid var(--sr-border);border-radius:11px;background:transparent;color:var(--sr-text); 1159 font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;} 1160.sr-x:hover{background:var(--sr-accent);border-color:var(--sr-accent);color:#fff;transform:rotate(90deg);} 1161.sr-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;} 1162.sr-tags-t{font-size:11.5px;font-weight:700;color:var(--sr-muted);margin-right:2px;} 1163.sr-tag{font-size:12px;font-weight:600;color:var(--sr-text);text-decoration:none;padding:5px 11px;border-radius:999px;background:var(--sr-bg2);border:1px solid var(--sr-border);transition:all .18s;} 1164.sr-tag:hover{background:var(--sr-accent);border-color:var(--sr-accent);color:#fff;} 1165@media(max-width:767px){ 1166 .sr-wrap{padding:12px 14px;} 1167 .sr-go{padding:13px 16px;font-size:13px;} 1168 .sr-input{padding:12px 14px 12px 38px;font-size:14px;} 1169 .sr-tags{display:none;} 1170} 1171</style> 1172 1173<div id="hdrSearchOv"></div> 1174<div id="hdrSearch" role="search" aria-hidden="true"> 1175 <div class="sr-wrap"> 1176 <form class="sr-row" method="get" action="/arama" data-sr-form> 1177 <div class="sr-field"> 1178 <i class="fas fa-search"></i> 1179 <input type="text" class="sr-input" name="q" placeholder="Aramak istediÄiniz kelimeyi yazın..." data-sr-input autocomplete="off"> 1180 </div> 1181 <button type="submit" class="sr-go">Ara</button> 1182 <button type="button" class="sr-x" data-sr-close aria-label="Kapat">×</button> 1183 </form> 1184 <div class="sr-tags"> 1185 <span class="sr-tags-t">Popüler:</span> 1186 <a class="sr-tag" href="#">#Seattle</a> 1187 <a class="sr-tag" href="#">#Anthropic</a> 1188 <a class="sr-tag" href="#">#OpenAI</a> 1189 <a class="sr-tag" href="#">#Microsoft</a> 1190 <a class="sr-tag" href="#">#yapay zeka</a> 1191 <a class="sr-tag" href="#">#Washington</a> 1192 <a class="sr-tag" href="#">#Nvidia</a> 1193 <a class="sr-tag" href="#">#Amazon Web Services</a> 1194 </div> 1195 </div> 1196</div> 1197
1198<script> 1199(function(){ 1200 var sr = document.getElementById('hdrSearch'); 1201 var ov = document.getElementById('hdrSearchOv'); 1202 if (!sr || !ov) return; 1203 var inp = sr.querySelector('[data-sr-input]'); 1204 1205 function openSr(){ 1206 sr.classList.add('sr-on'); ov.classList.add('sr-on'); 1207 sr.setAttribute('aria-hidden','false'); 1208 setTimeout(function(){ if (inp) inp.focus(); }, 260); // animasyon bitince odaklan 1209 } 1210 function closeSr(){ 1211 sr.classList.remove('sr-on'); ov.classList.remove('sr-on'); 1212 sr.setAttribute('aria-hidden','true'); 1213 if (inp) inp.blur(); 1214 } 1215 // Header'daki TÃM arama butonları (her temada var) 1216 document.querySelectorAll('[data-action="open-search"]').forEach(function(b){ 1217 b.addEventListener('click', function(e){ e.preventDefault(); e.stopPropagation(); openSr(); }); 1218 }); 1219 sr.querySelectorAll('[data-sr-close]').forEach(function(b){ b.addEventListener('click', closeSr); }); 1220 ov.addEventListener('click', closeSr); 1221 document.addEventListener('keydown', function(e){ if (e.key === 'Escape') closeSr(); }); 1222 // BoÅ aramada gönderme 1223 var form = sr.querySelector('[data-sr-form]'); 1224 if (form) form.addEventListener('submit', function(e){ if (!inp || inp.value.trim() === '') { e.preventDefault(); inp && inp.focus(); } }); 1225})(); 1226</script>
1226 1227 <!-- Hava Durumu Modal --> 1228 <div id="weatherModal" class="modal fixed inset-0 z-[99995]" style="display: none;"> 1229 <div class="modal-overlay absolute inset-0 bg-black bg-opacity-50 backdrop-blur-sm"></div> 1230 <div class="modal-container relative w-full max-w-lg mx-auto mt-20"> 1231 <div class="modal-content bg-white rounded-xl shadow-2xl"> 1232 <div class="modal-header bg-gradient-to-r from-blue-500 to-blue-600 text-white px-6 py-4 rounded-t-xl flex justify-between items-center"> 1233 <h3 class="text-xl font-semibold">Åehir Seçin</h3> 1234 <button class="close-modal hover:opacity-75 transition-opacity"> 1235 <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"> 1236 <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/> 1237 </svg> 1238 </button> 1239 </div> 1240 <div class="p-6"> 1241 <div class="relative mb-4"> 1242 <input type="text" class="city-search w-full px-4 py-3 border rounded-lg" placeholder="Åehir ara..."> 1243 </div> 1244 <div class="cities-list max-h-[400px] overflow-y-auto"> 1245 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1246 data-city-id="1" 1247 data-city-name="Adana"> 1248 <div class="flex items-center gap-3"> 1249 <span class="city-name text-gray-700">Adana</span> 1250 </div> 1251 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1252 data-city-id="1"> 1253 Varsayılan Yap 1254 </button> 1255 </div> 1256 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1257 data-city-id="2" 1258 data-city-name="Adıyaman"> 1259 <div class="flex items-center gap-3"> 1260 <span class="city-name text-gray-700">Adıyaman</span> 1261 </div> 1262 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1263 data-city-id="2"> 1264 Varsayılan Yap 1265 </button> 1266 </div> 1267 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1268 data-city-id="3" 1269 data-city-name="Afyon"> 1270 <div class="flex items-center gap-3">
1271 <span class="city-name text-gray-700">Afyon</span> 1272 </div> 1273 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1274 data-city-id="3"> 1275 Varsayılan Yap 1276 </button> 1277 </div> 1278 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1279 data-city-id="4" 1280 data-city-name="AÄrı"> 1281 <div class="flex items-center gap-3"> 1282 <span class="city-name text-gray-700">AÄrı</span> 1283 </div> 1284 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1285 data-city-id="4"> 1286 Varsayılan Yap 1287 </button> 1288 </div> 1289 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1290 data-city-id="5" 1291 data-city-name="Amasya"> 1292 <div class="flex items-center gap-3"> 1293 <span class="city-name text-gray-700">Amasya</span> 1294 </div> 1295 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1296 data-city-id="5"> 1297 Varsayılan Yap 1298 </button> 1299 </div> 1300 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1301 data-city-id="6" 1302 data-city-name="Ankara"> 1303 <div class="flex items-center gap-3"> 1304 <span class="city-name text-gray-700">Ankara</span> 1305 </div> 1306 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1307 data-city-id="6"> 1308 Varsayılan Yap 1309 </button> 1310 </div> 1311 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1312 data-city-id="7" 1313 data-city-name="Antalya"> 1314 <div class="flex items-center gap-3">
1315 <span class="city-name text-gray-700">Antalya</span> 1316 </div> 1317 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1318 data-city-id="7"> 1319 Varsayılan Yap 1320 </button> 1321 </div> 1322 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1323 data-city-id="8" 1324 data-city-name="Artvin"> 1325 <div class="flex items-center gap-3"> 1326 <span class="city-name text-gray-700">Artvin</span> 1327 </div> 1328 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1329 data-city-id="8"> 1330 Varsayılan Yap 1331 </button> 1332 </div> 1333 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1334 data-city-id="9" 1335 data-city-name="Aydın"> 1336 <div class="flex items-center gap-3"> 1337 <span class="city-name text-gray-700">Aydın</span> 1338 </div> 1339 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1340 data-city-id="9"> 1341 Varsayılan Yap 1342 </button> 1343 </div> 1344 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1345 data-city-id="10" 1346 data-city-name="Balıkesir"> 1347 <div class="flex items-center gap-3"> 1348 <span class="city-name text-gray-700">Balıkesir</span> 1349 </div> 1350 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1351 data-city-id="10"> 1352 Varsayılan Yap 1353 </button> 1354 </div> 1355 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1356 data-city-id="11" 1357 data-city-name="Bilecik"> 1358 <div class="flex items-center gap-3">
1359 <span class="city-name text-gray-700">Bilecik</span> 1360 </div> 1361 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1362 data-city-id="11"> 1363 Varsayılan Yap 1364 </button> 1365 </div> 1366 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1367 data-city-id="12" 1368 data-city-name="Bingöl"> 1369 <div class="flex items-center gap-3"> 1370 <span class="city-name text-gray-700">Bingöl</span> 1371 </div> 1372 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1373 data-city-id="12"> 1374 Varsayılan Yap 1375 </button> 1376 </div> 1377 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1378 data-city-id="13" 1379 data-city-name="Bitlis"> 1380 <div class="flex items-center gap-3"> 1381 <span class="city-name text-gray-700">Bitlis</span> 1382 </div> 1383 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1384 data-city-id="13"> 1385 Varsayılan Yap 1386 </button> 1387 </div> 1388 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1389 data-city-id="14" 1390 data-city-name="Bolu"> 1391 <div class="flex items-center gap-3"> 1392 <span class="city-name text-gray-700">Bolu</span> 1393 </div> 1394 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1395 data-city-id="14"> 1396 Varsayılan Yap 1397 </button> 1398 </div> 1399 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1400 data-city-id="15" 1401 data-city-name="Burdur"> 1402 <div class="flex items-center gap-3">
1403 <span class="city-name text-gray-700">Burdur</span> 1404 </div> 1405 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1406 data-city-id="15"> 1407 Varsayılan Yap 1408 </button> 1409 </div> 1410 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1411 data-city-id="16" 1412 data-city-name="Bursa"> 1413 <div class="flex items-center gap-3"> 1414 <span class="city-name text-gray-700">Bursa</span> 1415 </div> 1416 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1417 data-city-id="16"> 1418 Varsayılan Yap 1419 </button> 1420 </div> 1421 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1422 data-city-id="17" 1423 data-city-name="Ãanakkale"> 1424 <div class="flex items-center gap-3"> 1425 <span class="city-name text-gray-700">Ãanakkale</span> 1426 </div> 1427 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1428 data-city-id="17"> 1429 Varsayılan Yap 1430 </button> 1431 </div> 1432 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1433 data-city-id="18" 1434 data-city-name="Ãankırı"> 1435 <div class="flex items-center gap-3"> 1436 <span class="city-name text-gray-700">Ãankırı</span> 1437 </div> 1438 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1439 data-city-id="18"> 1440 Varsayılan Yap 1441 </button> 1442 </div> 1443 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1444 data-city-id="19" 1445 data-city-name="Ãorum"> 1446 <div class="flex items-center gap-3">
1447 <span class="city-name text-gray-700">Ãorum</span> 1448 </div> 1449 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1450 data-city-id="19"> 1451 Varsayılan Yap 1452 </button> 1453 </div> 1454 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1455 data-city-id="20" 1456 data-city-name="Denizli"> 1457 <div class="flex items-center gap-3"> 1458 <span class="city-name text-gray-700">Denizli</span> 1459 </div> 1460 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1461 data-city-id="20"> 1462 Varsayılan Yap 1463 </button> 1464 </div> 1465 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1466 data-city-id="21" 1467 data-city-name="Diyarbakır"> 1468 <div class="flex items-center gap-3"> 1469 <span class="city-name text-gray-700">Diyarbakır</span> 1470 </div> 1471 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1472 data-city-id="21"> 1473 Varsayılan Yap 1474 </button> 1475 </div> 1476 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1477 data-city-id="22" 1478 data-city-name="Edirne"> 1479 <div class="flex items-center gap-3"> 1480 <span class="city-name text-gray-700">Edirne</span> 1481 </div> 1482 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1483 data-city-id="22"> 1484 Varsayılan Yap 1485 </button> 1486 </div> 1487 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1488 data-city-id="23" 1489 data-city-name="ElazıÄ"> 1490 <div class="flex items-center gap-3">
1491 <span class="city-name text-gray-700">ElazıÄ</span> 1492 </div> 1493 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1494 data-city-id="23"> 1495 Varsayılan Yap 1496 </button> 1497 </div> 1498 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1499 data-city-id="24" 1500 data-city-name="Erzincan"> 1501 <div class="flex items-center gap-3"> 1502 <span class="city-name text-gray-700">Erzincan</span> 1503 </div> 1504 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1505 data-city-id="24"> 1506 Varsayılan Yap 1507 </button> 1508 </div> 1509 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1510 data-city-id="25" 1511 data-city-name="Erzurum"> 1512 <div class="flex items-center gap-3"> 1513 <span class="city-name text-gray-700">Erzurum</span> 1514 </div> 1515 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1516 data-city-id="25"> 1517 Varsayılan Yap 1518 </button> 1519 </div> 1520 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1521 data-city-id="26" 1522 data-city-name="EskiÅehir"> 1523 <div class="flex items-center gap-3"> 1524 <span class="city-name text-gray-700">EskiÅehir</span> 1525 </div> 1526 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1527 data-city-id="26"> 1528 Varsayılan Yap 1529 </button> 1530 </div> 1531 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1532 data-city-id="27" 1533 data-city-name="Gaziantep"> 1534 <div class="flex items-center gap-3">
1535 <span class="city-name text-gray-700">Gaziantep</span> 1536 </div> 1537 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1538 data-city-id="27"> 1539 Varsayılan Yap 1540 </button> 1541 </div> 1542 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1543 data-city-id="28" 1544 data-city-name="Giresun"> 1545 <div class="flex items-center gap-3"> 1546 <span class="city-name text-gray-700">Giresun</span> 1547 </div> 1548 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1549 data-city-id="28"> 1550 Varsayılan Yap 1551 </button> 1552 </div> 1553 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1554 data-city-id="29" 1555 data-city-name="GümüÅhane"> 1556 <div class="flex items-center gap-3"> 1557 <span class="city-name text-gray-700">GümüÅhane</span> 1558 </div> 1559 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1560 data-city-id="29"> 1561 Varsayılan Yap 1562 </button> 1563 </div> 1564 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1565 data-city-id="30" 1566 data-city-name="Hakkari"> 1567 <div class="flex items-center gap-3"> 1568 <span class="city-name text-gray-700">Hakkari</span> 1569 </div> 1570 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1571 data-city-id="30"> 1572 Varsayılan Yap 1573 </button> 1574 </div> 1575 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1576 data-city-id="31" 1577 data-city-name="Hatay"> 1578 <div class="flex items-center gap-3">
1579 <span class="city-name text-gray-700">Hatay</span> 1580 </div> 1581 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1582 data-city-id="31"> 1583 Varsayılan Yap 1584 </button> 1585 </div> 1586 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1587 data-city-id="32" 1588 data-city-name="Isparta"> 1589 <div class="flex items-center gap-3"> 1590 <span class="city-name text-gray-700">Isparta</span> 1591 </div> 1592 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1593 data-city-id="32"> 1594 Varsayılan Yap 1595 </button> 1596 </div> 1597 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1598 data-city-id="33" 1599 data-city-name="Mersin"> 1600 <div class="flex items-center gap-3"> 1601 <span class="city-name text-gray-700">Mersin</span> 1602 </div> 1603 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1604 data-city-id="33"> 1605 Varsayılan Yap 1606 </button> 1607 </div> 1608 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1609 data-city-id="34" 1610 data-city-name="İstanbul"> 1611 <div class="flex items-center gap-3"> 1612 <span class="city-name text-gray-700">İstanbul</span> 1613 </div> 1614 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1615 data-city-id="34"> 1616 Varsayılan Yap 1617 </button> 1618 </div> 1619 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1620 data-city-id="35" 1621 data-city-name="İzmir"> 1622 <div class="flex items-center gap-3">
1623 <span class="city-name text-gray-700">İzmir</span> 1624 </div> 1625 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1626 data-city-id="35"> 1627 Varsayılan Yap 1628 </button> 1629 </div> 1630 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1631 data-city-id="36" 1632 data-city-name="Kars"> 1633 <div class="flex items-center gap-3"> 1634 <span class="city-name text-gray-700">Kars</span> 1635 </div> 1636 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1637 data-city-id="36"> 1638 Varsayılan Yap 1639 </button> 1640 </div> 1641 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1642 data-city-id="37" 1643 data-city-name="Kastamonu"> 1644 <div class="flex items-center gap-3"> 1645 <span class="city-name text-gray-700">Kastamonu</span> 1646 </div> 1647 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1648 data-city-id="37"> 1649 Varsayılan Yap 1650 </button> 1651 </div> 1652 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1653 data-city-id="38" 1654 data-city-name="Kayseri"> 1655 <div class="flex items-center gap-3"> 1656 <span class="city-name text-gray-700">Kayseri</span> 1657 </div> 1658 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1659 data-city-id="38"> 1660 Varsayılan Yap 1661 </button> 1662 </div> 1663 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1664 data-city-id="39" 1665 data-city-name="Kırklareli"> 1666 <div class="flex items-center gap-3">
1667 <span class="city-name text-gray-700">Kırklareli</span> 1668 </div> 1669 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1670 data-city-id="39"> 1671 Varsayılan Yap 1672 </button> 1673 </div> 1674 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1675 data-city-id="40" 1676 data-city-name="KırÅehir"> 1677 <div class="flex items-center gap-3"> 1678 <span class="city-name text-gray-700">KırÅehir</span> 1679 </div> 1680 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1681 data-city-id="40"> 1682 Varsayılan Yap 1683 </button> 1684 </div> 1685 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1686 data-city-id="41" 1687 data-city-name="Kocaeli"> 1688 <div class="flex items-center gap-3"> 1689 <span class="city-name text-gray-700">Kocaeli</span> 1690 </div> 1691 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1692 data-city-id="41"> 1693 Varsayılan Yap 1694 </button> 1695 </div> 1696 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1697 data-city-id="42" 1698 data-city-name="Konya"> 1699 <div class="flex items-center gap-3"> 1700 <span class="city-name text-gray-700">Konya</span> 1701 </div> 1702 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1703 data-city-id="42"> 1704 Varsayılan Yap 1705 </button> 1706 </div> 1707 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1708 data-city-id="43" 1709 data-city-name="Kütahya"> 1710 <div class="flex items-center gap-3">
1711 <span class="city-name text-gray-700">Kütahya</span> 1712 </div> 1713 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1714 data-city-id="43"> 1715 Varsayılan Yap 1716 </button> 1717 </div> 1718 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1719 data-city-id="44" 1720 data-city-name="Malatya"> 1721 <div class="flex items-center gap-3"> 1722 <span class="city-name text-gray-700">Malatya</span> 1723 </div> 1724 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1725 data-city-id="44"> 1726 Varsayılan Yap 1727 </button> 1728 </div> 1729 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1730 data-city-id="45" 1731 data-city-name="Manisa"> 1732 <div class="flex items-center gap-3"> 1733 <span class="city-name text-gray-700">Manisa</span> 1734 </div> 1735 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1736 data-city-id="45"> 1737 Varsayılan Yap 1738 </button> 1739 </div> 1740 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1741 data-city-id="46" 1742 data-city-name="KahramanmaraÅ"> 1743 <div class="flex items-center gap-3"> 1744 <span class="city-name text-gray-700">KahramanmaraÅ</span> 1745 </div> 1746 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1747 data-city-id="46"> 1748 Varsayılan Yap 1749 </button> 1750 </div> 1751 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1752 data-city-id="47" 1753 data-city-name="Mardin"> 1754 <div class="flex items-center gap-3">
1755 <span class="city-name text-gray-700">Mardin</span> 1756 </div> 1757 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1758 data-city-id="47"> 1759 Varsayılan Yap 1760 </button> 1761 </div> 1762 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1763 data-city-id="48" 1764 data-city-name="MuÄla"> 1765 <div class="flex items-center gap-3"> 1766 <span class="city-name text-gray-700">MuÄla</span> 1767 </div> 1768 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1769 data-city-id="48"> 1770 Varsayılan Yap 1771 </button> 1772 </div> 1773 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1774 data-city-id="49" 1775 data-city-name="MuÅ"> 1776 <div class="flex items-center gap-3"> 1777 <span class="city-name text-gray-700">MuÅ</span> 1778 </div> 1779 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1780 data-city-id="49"> 1781 Varsayılan Yap 1782 </button> 1783 </div> 1784 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1785 data-city-id="50" 1786 data-city-name="NevÅehir"> 1787 <div class="flex items-center gap-3"> 1788 <span class="city-name text-gray-700">NevÅehir</span> 1789 </div> 1790 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1791 data-city-id="50"> 1792 Varsayılan Yap 1793 </button> 1794 </div> 1795 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1796 data-city-id="51" 1797 data-city-name="NiÄde"> 1798 <div class="flex items-center gap-3">
1799 <span class="city-name text-gray-700">NiÄde</span> 1800 </div> 1801 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1802 data-city-id="51"> 1803 Varsayılan Yap 1804 </button> 1805 </div> 1806 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1807 data-city-id="52" 1808 data-city-name="Ordu"> 1809 <div class="flex items-center gap-3"> 1810 <span class="city-name text-gray-700">Ordu</span> 1811 </div> 1812 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1813 data-city-id="52"> 1814 Varsayılan Yap 1815 </button> 1816 </div> 1817 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1818 data-city-id="53" 1819 data-city-name="Rize"> 1820 <div class="flex items-center gap-3"> 1821 <span class="city-name text-gray-700">Rize</span> 1822 </div> 1823 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1824 data-city-id="53"> 1825 Varsayılan Yap 1826 </button> 1827 </div> 1828 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1829 data-city-id="54" 1830 data-city-name="Sakarya"> 1831 <div class="flex items-center gap-3"> 1832 <span class="city-name text-gray-700">Sakarya</span> 1833 </div> 1834 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1835 data-city-id="54"> 1836 Varsayılan Yap 1837 </button> 1838 </div> 1839 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1840 data-city-id="55" 1841 data-city-name="Samsun"> 1842 <div class="flex items-center gap-3">
1843 <span class="city-name text-gray-700">Samsun</span> 1844 </div> 1845 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1846 data-city-id="55"> 1847 Varsayılan Yap 1848 </button> 1849 </div> 1850 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1851 data-city-id="56" 1852 data-city-name="Siirt"> 1853 <div class="flex items-center gap-3"> 1854 <span class="city-name text-gray-700">Siirt</span> 1855 </div> 1856 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1857 data-city-id="56"> 1858 Varsayılan Yap 1859 </button> 1860 </div> 1861 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1862 data-city-id="57" 1863 data-city-name="Sinop"> 1864 <div class="flex items-center gap-3"> 1865 <span class="city-name text-gray-700">Sinop</span> 1866 </div> 1867 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1868 data-city-id="57"> 1869 Varsayılan Yap 1870 </button> 1871 </div> 1872 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1873 data-city-id="58" 1874 data-city-name="Sivas"> 1875 <div class="flex items-center gap-3"> 1876 <span class="city-name text-gray-700">Sivas</span> 1877 </div> 1878 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1879 data-city-id="58"> 1880 Varsayılan Yap 1881 </button> 1882 </div> 1883 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1884 data-city-id="59" 1885 data-city-name="TekirdaÄ"> 1886 <div class="flex items-center gap-3">
1887 <span class="city-name text-gray-700">TekirdaÄ</span> 1888 </div> 1889 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1890 data-city-id="59"> 1891 Varsayılan Yap 1892 </button> 1893 </div> 1894 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1895 data-city-id="60" 1896 data-city-name="Tokat"> 1897 <div class="flex items-center gap-3"> 1898 <span class="city-name text-gray-700">Tokat</span> 1899 </div> 1900 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1901 data-city-id="60"> 1902 Varsayılan Yap 1903 </button> 1904 </div> 1905 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1906 data-city-id="61" 1907 data-city-name="Trabzon"> 1908 <div class="flex items-center gap-3"> 1909 <span class="city-name text-gray-700">Trabzon</span> 1910 </div> 1911 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1912 data-city-id="61"> 1913 Varsayılan Yap 1914 </button> 1915 </div> 1916 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1917 data-city-id="62" 1918 data-city-name="Tunceli"> 1919 <div class="flex items-center gap-3"> 1920 <span class="city-name text-gray-700">Tunceli</span> 1921 </div> 1922 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1923 data-city-id="62"> 1924 Varsayılan Yap 1925 </button> 1926 </div> 1927 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1928 data-city-id="63" 1929 data-city-name="Åanlıurfa"> 1930 <div class="flex items-center gap-3">
1931 <span class="city-name text-gray-700">Åanlıurfa</span> 1932 </div> 1933 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1934 data-city-id="63"> 1935 Varsayılan Yap 1936 </button> 1937 </div> 1938 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1939 data-city-id="64" 1940 data-city-name="UÅak"> 1941 <div class="flex items-center gap-3"> 1942 <span class="city-name text-gray-700">UÅak</span> 1943 </div> 1944 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1945 data-city-id="64"> 1946 Varsayılan Yap 1947 </button> 1948 </div> 1949 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1950 data-city-id="65" 1951 data-city-name="Van"> 1952 <div class="flex items-center gap-3"> 1953 <span class="city-name text-gray-700">Van</span> 1954 </div> 1955 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1956 data-city-id="65"> 1957 Varsayılan Yap 1958 </button> 1959 </div> 1960 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1961 data-city-id="66" 1962 data-city-name="Yozgat"> 1963 <div class="flex items-center gap-3"> 1964 <span class="city-name text-gray-700">Yozgat</span> 1965 </div> 1966 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1967 data-city-id="66"> 1968 Varsayılan Yap 1969 </button> 1970 </div> 1971 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1972 data-city-id="67" 1973 data-city-name="Zonguldak"> 1974 <div class="flex items-center gap-3">
1975 <span class="city-name text-gray-700">Zonguldak</span> 1976 </div> 1977 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1978 data-city-id="67"> 1979 Varsayılan Yap 1980 </button> 1981 </div> 1982 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1983 data-city-id="68" 1984 data-city-name="Aksaray"> 1985 <div class="flex items-center gap-3"> 1986 <span class="city-name text-gray-700">Aksaray</span> 1987 </div> 1988 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 1989 data-city-id="68"> 1990 Varsayılan Yap 1991 </button> 1992 </div> 1993 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 1994 data-city-id="69" 1995 data-city-name="Bayburt"> 1996 <div class="flex items-center gap-3"> 1997 <span class="city-name text-gray-700">Bayburt</span> 1998 </div> 1999 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2000 data-city-id="69"> 2001 Varsayılan Yap 2002 </button> 2003 </div> 2004 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2005 data-city-id="70" 2006 data-city-name="Karaman"> 2007 <div class="flex items-center gap-3"> 2008 <span class="city-name text-gray-700">Karaman</span> 2009 </div> 2010 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2011 data-city-id="70"> 2012 Varsayılan Yap 2013 </button> 2014 </div> 2015 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2016 data-city-id="71" 2017 data-city-name="Kırıkkale"> 2018 <div class="flex items-center gap-3">
2019 <span class="city-name text-gray-700">Kırıkkale</span> 2020 </div> 2021 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2022 data-city-id="71"> 2023 Varsayılan Yap 2024 </button> 2025 </div> 2026 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2027 data-city-id="72" 2028 data-city-name="Batman"> 2029 <div class="flex items-center gap-3"> 2030 <span class="city-name text-gray-700">Batman</span> 2031 </div> 2032 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2033 data-city-id="72"> 2034 Varsayılan Yap 2035 </button> 2036 </div> 2037 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2038 data-city-id="73" 2039 data-city-name="Åırnak"> 2040 <div class="flex items-center gap-3"> 2041 <span class="city-name text-gray-700">Åırnak</span> 2042 </div> 2043 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2044 data-city-id="73"> 2045 Varsayılan Yap 2046 </button> 2047 </div> 2048 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2049 data-city-id="74" 2050 data-city-name="Bartın"> 2051 <div class="flex items-center gap-3"> 2052 <span class="city-name text-gray-700">Bartın</span> 2053 </div> 2054 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2055 data-city-id="74"> 2056 Varsayılan Yap 2057 </button> 2058 </div> 2059 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2060 data-city-id="75" 2061 data-city-name="Ardahan"> 2062 <div class="flex items-center gap-3">
2063 <span class="city-name text-gray-700">Ardahan</span> 2064 </div> 2065 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2066 data-city-id="75"> 2067 Varsayılan Yap 2068 </button> 2069 </div> 2070 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2071 data-city-id="76" 2072 data-city-name="IÄdır"> 2073 <div class="flex items-center gap-3"> 2074 <span class="city-name text-gray-700">IÄdır</span> 2075 </div> 2076 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2077 data-city-id="76"> 2078 Varsayılan Yap 2079 </button> 2080 </div> 2081 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2082 data-city-id="77" 2083 data-city-name="Yalova"> 2084 <div class="flex items-center gap-3"> 2085 <span class="city-name text-gray-700">Yalova</span> 2086 </div> 2087 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2088 data-city-id="77"> 2089 Varsayılan Yap 2090 </button> 2091 </div> 2092 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2093 data-city-id="78" 2094 data-city-name="Karabük"> 2095 <div class="flex items-center gap-3"> 2096 <span class="city-name text-gray-700">Karabük</span> 2097 </div> 2098 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2099 data-city-id="78"> 2100 Varsayılan Yap 2101 </button> 2102 </div> 2103 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2104 data-city-id="79" 2105 data-city-name="Kilis"> 2106 <div class="flex items-center gap-3">
2107 <span class="city-name text-gray-700">Kilis</span> 2108 </div> 2109 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2110 data-city-id="79"> 2111 Varsayılan Yap 2112 </button> 2113 </div> 2114 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2115 data-city-id="80" 2116 data-city-name="Osmaniye"> 2117 <div class="flex items-center gap-3"> 2118 <span class="city-name text-gray-700">Osmaniye</span> 2119 </div> 2120 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2121 data-city-id="80"> 2122 Varsayılan Yap 2123 </button> 2124 </div> 2125 <div class="city-item group flex items-center justify-between p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors" 2126 data-city-id="81" 2127 data-city-name="Düzce"> 2128 <div class="flex items-center gap-3"> 2129 <span class="city-name text-gray-700">Düzce</span> 2130 </div> 2131 <button class="set-default-city opacity-0 group-hover:opacity-100 px-3 py-1.5 text-sm font-medium text-blue-600 hover:text-blue-700 rounded-full bg-blue-50 hover:bg-blue-100 transition-all" 2132 data-city-id="81"> 2133 Varsayılan Yap 2134 </button> 2135 </div> 2136 </div> 2137 </div> 2138 </div> 2139 </div> 2140 </div> 2141 2142 2143<style id="sb-css"> 2144/* Sidebar renkleri TEMADAN gelir (--sb-*). Tema tanımlamadıysa nötr, okunur bir varsayılan. */ 2145#hdrSidebar,#hdrSidebar *{box-sizing:border-box;} 2146/* GÃVENLİK AÄI: position:fixed + transform kombinasyonu (kapalı sidebar) bazı tarayıcı 2147 motorlarında sayfanın yatay scroll geniÅliÄini etkileyebiliyor â visibility:hidden bile 2148 tek baÅına bunu tam önlemeyebiliyor. overflow-x:hidden, kaynaÄı ne olursa olsun (bu veya 2149 baÅka bir bileÅen kaynaklı) her türlü yatay taÅmayı kullanıcıya ASLA göstermez; standart, 2150 güvenli bir son savunma hattıdır. */ 2151html, body { overflow-x: hidden !important; max-width: 100vw; } 2152#hdrSidebar{ 2153 --sb-bg: var(--sb-theme-bg, #ffffff); 2154 --sb-bg2: var(--sb-theme-bg2, #f8f9fb); 2155 --sb-text: var(--sb-theme-text, #1f2937); 2156 --sb-muted: var(--sb-theme-muted, #6b7280); 2157 --sb-accent: var(--sb-theme-accent, #c0392b); 2158 --sb-border: var(--sb-theme-border, rgba(0,0,0,.08)); 2159 --sb-hover: var(--sb-theme-hover, rgba(0,0,0,.04)); 2160 /* YENİ: eskiden ikonlar metin rengini (--sb-text), hover metni ve sosyal medya ikonları 2161 vurgu/metin rengini (--sb-accent/--sb-text) SESSİZCE miras alıyordu â kullanıcı bunları 2162 AYRI AYRI deÄiÅtiremiyordu ("ikon rengini deÄiÅtiremiyorum", "hover rengini 2163 deÄiÅtiremiyorum", "sosyal medya rengini deÄiÅtiremiyorum" Åikayetlerinin kök nedeni). 2164 Artık üçü de kendi baÄımsız ayarına sahip; ayarlanmazsa eskisi gibi mantıklı bir 2165 renge (ikon/sosyal->metin rengi, hover->vurgu rengi) düÅer, yani hiçbir Åey bozulmaz. */ 2166 --sb-icon: var(--sb-text); 2167 --sb-link-hover: var(--sb-accent); 2168 --sb-social: var(--sb-text); 2169 font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif; 2170 color:var(--sb-text); 2171} 2172#hdrSidebarOv{position:fixed;inset:0;
2172background:rgba(10,12,20,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:99990;opacity:0;visibility:hidden;transition:opacity .3s;} 2173#hdrSidebarOv.sb-on{opacity:1;visibility:visible;} 2174 2175/* ââ ORTAK ââ */ 2176#hdrSidebar{position:fixed;z-index:99991;background:var(--sb-bg);display:flex;flex-direction:column;transition:transform .34s cubic-bezier(.4,0,.2,1),opacity .28s;overscroll-behavior:contain;} 2177.sb-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--sb-border);flex-shrink:0;background:var(--sb-bg2);} 2178.sb-head img{height:34px;width:auto;max-width:190px;object-fit:contain;} 2179/* Koyu zemin modu açık ama ayrı koyu-zemin logosu yüklenmemiÅse normal logoyu beyazlat */ 2180.sb-logo-white{filter:brightness(0) invert(1);} 2181.sb-head-title{font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--sb-muted);} 2182.sb-close{width:36px;height:36px;border-radius:9px;border:1px solid var(--sb-border);background:transparent;color:var(--sb-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:all .2s;flex-shrink:0;} 2183.sb-close:hover{background:var(--sb-accent);border-color:var(--sb-accent);color:#fff;transform:rotate(90deg);} 2184.sb-body{flex:1;overflow-y:auto;padding:14px 0;scrollbar-width:thin;} 2185.sb-body::-webkit-scrollbar{width:6px;} 2186.sb-body::-webkit-scrollbar-thumb{background:var(--sb-border);border-radius:3px;} 2187.sb-grp{margin-bottom:18px;} 2188.sb-grp:last-child{margin-bottom:0;} 2189.sb-grp-t{display:flex;align-items:center;gap:8px;padding:0 18px 8px;font-size:10.5px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--sb-muted);} 2190.sb-grp-t::after{content:'';flex:1;height:1px;background:var(--sb-border);} 2191.sb-li{display:flex;align-items:center;gap:11px;padding:11px 18px;color:var(--sb-text);text-decoration:none;font-size:14px;font-weight:600;transition:all .18s;border-left:3px solid transparent;} 2192.sb-li i,.sb-li svg{color:var(--sb-icon);flex-shrink:0;} 2193.sb-li:hover{background:var(--sb-hover);border-left-color:var(--sb-link-hover);color:var(--sb-link-hover);padding-left:22px;} 2194.sb-li:hover i,.sb-li:hover svg{color:var(--sb-link-hover);} 2195.sb-li i,.sb-li svg{width:17px;height:17px;font-size:15px;text-align:center;flex-shrink:0;opacity:.9;} 2196.sb-li img{width:17px;height:17px;object-fit:contain;flex-shrink:0;} 2197.sb-li .sb-bdg{margin-left:auto;background:var(--sb-accent);color:#fff;font-size:9px;font-weight:800;padding:2px 7px;border-radius:999px;} 2198.sb-static{cursor:default;} 2199.sb-static:hover{color:var(--sb-text);} 2200.sb-ad{display:block;padding:10px 18px;} 2201.sb-ad img{width:100%;height:auto;border-radius:8px;display:block;} 2202.sb-soc{display:flex;flex-wrap:wrap;gap:10px;padding:12px 18px;border-top:1px solid var(--sb-border);background:var(--sb-bg2);flex-shrink:0;} 2203.sb-soc a{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--sb-social);text-decoration:none;padding:7px 11px;border-radius:8px;border:1px solid var(--sb-border);transition:all .2s;} 2204.sb-soc a:hover{background:var(--sb-accent);border-color:var(--sb-accent);color:#fff;} 2205.sb-soc svg{width:14px;height:14px;} 2206.sb-hidden{display:none !important;} 2207/* "Piyasalar" bölümü menüden GÃRSEL OLARAK AYRI, kendi kartı içinde â menüyle karıÅmasın */ 2208.sb-grp-market{background:var(--sb-theme-bg2);border-radius:12px;margin:0 14px 18px;padding:10px 4px;border:1px solid var(--sb-theme-border);} 2209.sb-grp-market .sb-grp-t{padding:0 14px 8px;} 2210.sb-grp-market .sb-grp-t::after{background:linear-gradient(90deg,var(--sb-theme-accent),transparent);height:2px;} 2211.sb-mkt-row{display:block;padding:9px 18px;} 2212.sb-mkt-row .sb-mkt-top{display:flex;align-items:center;gap:8px;min-width:0;} 2213.sb-mkt-row .sb-mkt-top > i{flex-shrink:0;} 2214.sb-mkt-row .sb-mkt-name{flex:1 1 auto;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;} 2215.sb-mkt-row .sb-mkt-vals{font-size:12.5px;color:var(--sb-text);white-space:nowrap;flex-shrink:0;} 2216.sb-mkt-row .sb-mkt-arrow{font-size:10px;font-weight:800;flex-shrink:0;} 2217.sb-mkt-row .sb-mkt-up{color:#059669;} 2218.sb-mkt-row .sb-mkt-down{color:#dc2626;} 2219.sb-mkt-row .sb-mkt-stable{color:var(--sb-muted);} 2220/* "AlıŠve SatıÅ" modu: iki satır â üstte isim+ok, altta alıÅ/satıŠdeÄerleri. Tek satırda 2221 sıÄdırmaya çalıÅmak (eski hâli) dar sidebar geniÅliÄinde kesin taÅıyordu ("A: 47,06 · S: 2222 47,16" gibi uzun bir metin). İki satır her geniÅlikte garanti sıÄar. */ 2223.sb-mkt-row-2line .sb-mkt-bottom{display:flex;gap:14px;margin-top:3px;padding-left:25px;font-size:11.5px;color:var(--sb-muted);} 2224.sb-mkt-row-2line .sb-mkt-bottom b{color:var(--sb-text);font-weight:700;} 2225 2226/* ââ 1) SAÄDAN KAYAN ââ */ 2227#hdrSidebar.sb-right-slide{top:0;right:0;height:100%;width:330px;max-width:88vw;transform:translateX(105%);visibility:hidden;box-shadow:-8px 0 40px rgba(0,0,0,.22);} 2228#hdrSidebar.sb-right-slide.sb-on{transform:translateX(0);visibility:visible;} 2229/* ââ 2) SOLDAN KAYAN ââ */ 2230#hdrSidebar.sb-left-slide{top:0;left:0;height:100%;width:330px;max-width:88vw;transform:translateX(-105%);visibility:hidden;box-shadow:8px 0 40px rgba(0,0,0,.22);} 2231#hdrSidebar.sb-left-slide.sb-on{transform:translateX(0);visibility:visible;} 2232/* ââ 3) DAR SAÄ PANEL ââ */ 2233#hdrSidebar.sb-compact-right{top:0;right:0;height:100%;width:250px;max-width:80vw;transform:translateX(105%);visibility:hidden;box-shadow:-6px 0 30px rgba(0,0,0,.2);} 2234#hdrSidebar.sb-compact-right.sb-on{transform:translateX(0);visibility:visible;} 2235#hdrSidebar.sb-compact-right .sb-li{font-size:13px;padding:9px 14px;} 2236#hdrSidebar.sb-compact-right .sb-grp-t{padding:0 14px 6px;} 2237/* ââ 4) İÃERİÄİ İTEN ââ */ 2238#hdrSidebar.sb-push{top:0;left:0;height:100%;width:300px;max-width:85vw;transform:translateX(-105%);visibility:hidden;box-shadow:4px 0 24px rgba(0,0,0,.18);} 2239#hdrSidebar.sb-push.sb-on{transform:translateX(0);visibility:visible;} 2240body.sb-push-on{overflow-x:hidden;} 2241body.sb-push-on > *:not(#hdrSidebar):not(#hdrSidebarOv){transform:translateX(300px);transition:transform .34s cubic-bezier(.4,0,.2,1);} 2242/* ââ 5) TAM EKRAN ââ */ 2243#hdrSidebar.sb-fullscreen{inset:0;width:100%;height:100%;transform:scale(1.04);opacity:0;visibility:hidden;} 2244#hdrSidebar.sb-fullscreen.sb-on{transform:scale(1);opacity:1;visibility:visible;}
2245#hdrSidebar.sb-fullscreen .sb-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 28px;max-width:1100px;margin:0 auto;width:100%;padding:26px 20px;align-content:start;} 2246#hdrSidebar.sb-fullscreen .sb-li{font-size:15px;} 2247/* ââ 6) HEADER ALTINDAN AÃILAN ââ */ 2248#hdrSidebar.sb-dropdown{top:0;left:0;right:0;width:100%;height:auto;max-height:82vh;transform:translateY(-102%);box-shadow:0 14px 40px rgba(0,0,0,.22);border-bottom:3px solid var(--sb-accent);} 2249#hdrSidebar.sb-dropdown.sb-on{transform:translateY(0);} 2250#hdrSidebar.sb-dropdown .sb-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 26px;max-width:var(--container-max-width,1200px);margin:0 auto;width:100%;padding:20px;align-content:start;} 2251/* ââ 7) MEGA MENà (görseldeki gibi: solda servisler, saÄda sütunlu menü) ââ */ 2252#hdrSidebar.sb-mega{top:0;left:0;right:0;width:100%;height:auto;max-height:88vh;transform:translateY(-102%);box-shadow:0 16px 48px rgba(0,0,0,.24);border-bottom:3px solid var(--sb-accent);} 2253#hdrSidebar.sb-mega.sb-on{transform:translateY(0);} 2254#hdrSidebar.sb-mega .sb-body{max-width:var(--container-max-width,1200px);margin:0 auto;width:100%;padding:22px 20px;display:grid;grid-template-columns:270px 1fr;gap:0 30px;align-items:start;} 2255#hdrSidebar.sb-mega .sb-mega-services{border:1px solid var(--sb-border);border-radius:12px;padding:8px 0;background:var(--sb-bg2);} 2256#hdrSidebar.sb-mega .sb-mega-services .sb-li{border-left:none;border-bottom:1px solid var(--sb-border);padding-left:16px;} 2257#hdrSidebar.sb-mega .sb-mega-services .sb-li:last-child{border-bottom:none;} 2258#hdrSidebar.sb-mega .sb-mega-services .sb-li:hover{padding-left:20px;} 2259#hdrSidebar.sb-mega .sb-mega-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 26px;align-content:start;} 2260#hdrSidebar.sb-mega .sb-mega-cols .sb-li{border-left:none;border-bottom:1px solid var(--sb-border);} 2261#hdrSidebar.sb-mega .sb-mega-cols .sb-li:hover{padding-left:22px;} 2262/* ââ 8) ORTADA MODAL ââ */ 2263#hdrSidebar.sb-modal-center{top:50%;left:50%;width:min(820px,92vw);max-height:84vh;border-radius:16px;overflow:hidden;transform:translate(-50%,-50%) scale(.94);opacity:0;visibility:hidden;box-shadow:0 24px 70px rgba(0,0,0,.4);} 2264#hdrSidebar.sb-modal-center.sb-on{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible;}
2265#hdrSidebar.sb-modal-center .sb-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 22px;padding:18px;} 2266/* ââ 9) İKON IZGARASI ââ */ 2267#hdrSidebar.sb-grid{top:0;right:0;height:100%;width:380px;max-width:92vw;transform:translateX(105%);visibility:hidden;box-shadow:-8px 0 40px rgba(0,0,0,.22);} 2268#hdrSidebar.sb-grid.sb-on{transform:translateX(0);visibility:visible;} 2269#hdrSidebar.sb-grid .sb-grp{padding:0 14px;} 2270#hdrSidebar.sb-grid .sb-grp-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;} 2271#hdrSidebar.sb-grid .sb-li{flex-direction:column;gap:8px;text-align:center;padding:16px 8px;border:1px solid var(--sb-border);border-radius:12px;border-left:1px solid var(--sb-border);font-size:11.5px;} 2272#hdrSidebar.sb-grid .sb-li:hover{padding-left:8px;border-color:var(--sb-accent);transform:translateY(-2px);} 2273#hdrSidebar.sb-grid .sb-li i{font-size:20px;width:auto;height:auto;} 2274#hdrSidebar.sb-grid .sb-bdg{margin-left:0;} 2275/* ââ 10) GRUPLU AKORDEON ââ */ 2276#hdrSidebar.sb-accordion{top:0;right:0;height:100%;width:330px;max-width:88vw;transform:translateX(105%);visibility:hidden;box-shadow:-8px 0 40px rgba(0,0,0,.22);} 2277#hdrSidebar.sb-accordion.sb-on{transform:translateX(0);visibility:visible;} 2278#hdrSidebar.sb-accordion .sb-grp-t{cursor:pointer;padding:13px 18px;background:var(--sb-bg2);border-bottom:1px solid var(--sb-border);font-size:12px;} 2279#hdrSidebar.sb-accordion .sb-grp-t::after{content:'\25BE';flex:0;transition:transform .25s;font-size:11px;} 2280#hdrSidebar.sb-accordion .sb-grp{margin-bottom:0;} 2281#hdrSidebar.sb-accordion .sb-grp-inner{max-height:0;overflow:hidden;transition:max-height .3s ease;} 2282#hdrSidebar.sb-accordion .sb-grp.sb-open .sb-grp-inner{max-height:640px;} 2283#hdrSidebar.sb-accordion .sb-grp.sb-open .sb-grp-t::after{transform:rotate(180deg);} 2284 2285@media(max-width:767px){ 2286 #hdrSidebar.sb-mega .sb-body{grid-template-columns:1fr;gap:16px;} 2287 #hdrSidebar.sb-mega,#hdrSidebar.sb-dropdown{max-height:92vh;} 2288 #hdrSidebar.sb-modal-center{width:94vw;} 2289 #hdrSidebar.sb-grid{width:100%;} 2290 body.sb-push-on > *:not(#hdrSidebar):not(#hdrSidebarOv){transform:translateX(0);} 2291 #hdrSidebar.sb-push{width:86vw;} 2292} 2293</style> 2294 2295<div id="hdrSidebarOv"></div> 2296<aside id="hdrSidebar" class="sb-right-slide" style="position:fixed;top:0;right:0;height:100%;width:330px;max-width:88vw;transform:translateX(105%);visibility:hidden;overflow:hidden;" aria-label="Site Menüsü" aria-hidden="true"> 2297 <div class="sb-head"> 2298 <img class="sb-logo" src="https://mobil13.com.tr/uploads/logo/6910cea3aeb32.png" alt="mobil13 - Mobil Telefon ve Teknoloji Haberleri"> 2299 <button type="button" class="sb-close" data-sb-close aria-label="Kapat">×</button> 2300 </div> 2301 2302 <div class="sb-body"> 2303 <!-- DİÄER TÃM STİLLER: gruplu liste --> 2304 <div class="sb-grp" data-sb-grp> 2305 <div class="sb-grp-t" data-sb-grp-t>Servisler</div> 2306 <div class="sb-grp-inner"> 2307 <span class="sb-li sb-static" data-sb-service="pharmacy"><i class="fas fa-prescription-bottle-alt"></i>Nöbetçi Eczaneler</span> 2308 <span class="sb-li sb-static" data-sb-service="weather"><i class="fas fa-cloud-sun"></i>Hava Durumu</span> 2309 <span class="sb-li sb-static" data-sb-service="prayer"><i class="fas fa-mosque"></i>Namaz Vakitleri</span> 2310 <span class="sb-li sb-static" data-sb-service="traffic"><i class="fas fa-car"></i>Trafik Durumu</span> 2311 </div> 2312 </div> 2313 2314 <div class="sb-grp" data-sb-grp> 2315 <div class="sb-grp-t" data-sb-grp-t>Kategoriler</div> 2316 <div class="sb-grp-inner"> 2317 <a class="sb-li" href="/nasil-yapilir" target="_self" 2318 > 2319 NASIL YAPILIR? </a> 2320 <a class="sb-li" href="/akilli-telefon" target="_self" 2321 > 2322 AKILLI TELEFON </a> 2323 <a class="sb-li" href="/oyun" target="_self" 2324 > 2325 OYUN </a> 2326 <a class="sb-li" href="/teknoloji" target="_self" 2327 > 2328 TEKNOLOJİ </a> 2329 <a class="sb-li" href="/otomobil" target="_self" 2330 > 2331 OTOMOBİL </a> 2332 <a class="sb-li" href="/inceleme" target="_self" 2333 > 2334 İNCELEME </a> 2335 </div> 2336 </div> 2337 2338 2339 <div class="sb-grp" data-sb-grp> 2340 <div class="sb-grp-t" data-sb-grp-t>Galeriler</div> 2341 <div class="sb-grp-inner"> 2342 <a class="sb-li" href="/video-galeri" data-content-key="show_video_gallery"><i class="fas fa-video"></i>Video Galeri</a> 2343 </div> 2344 </div> 2345 2346 </div> 2347 2348 <div class="sb-soc"> 2349 <a href="https://facebook.com/mobil13com/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M18.77 7.46H14.5v-1.9c0-.9.6-1.1 1-1.1h3V.5h-4.33C10.24.5 9.5 3.44 9.5 5.32v2.15h-3v4h3v12h5v-12h3.85l.42-4z"/></svg>
2349Facebook</a> <a href="https://x.com/yorumlanet" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>X</a> <a href="https://instagram.com/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 100 12.324 6.162 6.162 0 000-12.324zM12 16a4 4 0 110-8 4 4 0 010 8zm6.406-11.845a1.44 1.44 0 100 2.881 1.44 1.44 0 000-2.881z"/></svg>Instagram</a> <a href="https://youtube.com/" target="_blank" rel="noopener"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M23.8 7.2s-.2-1.7-1-2.4c-.9-1-1.9-1-2.4-1-3.4-.2-8.4-.2-8.4-.2s-5 0-8.4.2c-.5.1-1.5.1-2.4 1-.7.7-1 2.4-1 2.4S0 9.1 0 11.1v1.8c0 1.9.2 3.9.2 3.9s.2 1.7 1 2.4c.9 1 2.1.9 2.6 1 1.9.2 8.2.2 8.2.2s5 0 8.4-.2c.5-.1 1.5-.1 2.4-1 .7-.7 1-2.4 1-2.4s.2-1.9.2-3.9V11c0-1.9-.2-3.8-.2-3.8zM9.5 15.1V8.4l6.5 3.4-6.5 3.3z"/></svg>YouTube</a> </div> 2350 </aside> 2351
2352<script> 2353(function(){ 2354 var sb = document.getElementById('hdrSidebar'); 2355 var ov = document.getElementById('hdrSidebarOv'); 2356 if (!sb || !ov) return; 2357 var isPush = sb.classList.contains('sb-push'); 2358 2359 function openSb(){ 2360 // İlk yüklemede CLS önlemek için eklenen inline style'ı (transform/visibility/opacity) 2361 // temizle â böylece aÅaÄıdaki class eklemesiyle devreye giren CSS ".sb-on" kuralı 2362 // (inline stilin ASLA ezemeyeceÄi, çünkü inline her zaman en yüksek CSS özgüllüÄüne 2363 // sahiptir) gerçekten uygulanabilsin. Temizlemeden class eklemek sidebar'ın hiç 2364 // açılamamasına sebep olurdu. 2365 sb.style.transform = ''; sb.style.visibility = ''; sb.style.opacity = ''; 2366 sb.classList.add('sb-on'); ov.classList.add('sb-on'); 2367 sb.setAttribute('aria-hidden','false'); 2368 document.body.style.overflow = 'hidden'; 2369 if (isPush) document.body.classList.add('sb-push-on'); 2370 } 2371 function closeSb(){ 2372 // Aynı sebeple: class kaldırıldıÄında CSS'in KENDİ kapalı-durum kuralı (transform/ 2373 // visibility içeren temel ".sb-{stil}" kuralı) devreye girsin diye inline'ı temizle. 2374 sb.style.transform = ''; sb.style.visibility = ''; sb.style.opacity = ''; 2375 sb.classList.remove('sb-on'); ov.classList.remove('sb-on'); 2376 sb.setAttribute('aria-hidden','true'); 2377 document.body.style.overflow = ''; 2378 if (isPush) document.body.classList.remove('sb-push-on'); 2379 } 2380 // Header'daki TÃM "menü" butonları (her temada var) 2381 document.querySelectorAll('[data-action="open-menu"]').forEach(function(b){ 2382 b.addEventListener('click', function(e){ e.preventDefault(); e.stopPropagation(); openSb(); }); 2383 }); 2384 sb.querySelectorAll('[data-sb-close]').forEach(function(b){ b.addEventListener('click', closeSb); }); 2385 ov.addEventListener('click', closeSb); 2386 document.addEventListener('keydown', function(e){ if (e.key === 'Escape') closeSb(); }); 2387 2388 // Akordeon stili: grup baÅlıkları açılır/kapanır (ilk grup açık baÅlar) 2389 if (sb.classList.contains('sb-accordion')) { 2390 var grps = sb.querySelectorAll('[data-sb-grp]'); 2391 grps.forEach(function(g, i){ 2392 if (i === 0) g.classList.add('sb-open'); 2393 var t = g.querySelector('[data-sb-grp-t]'); 2394 if (t) t.addEventListener('click', function(){ g.classList.toggle('sb-open'); }); 2395 }); 2396 } 2397 // Izgara stili: grup içeriklerini ızgara kabına al 2398 if (sb.classList.contains('sb-grid')) { 2399 sb.querySelectorAll('[data-sb-grp] .sb-grp-inner').forEach(function(inner){ inner.classList.add('sb-grid-inner'); }); 2400 } 2401 // Servisler henüz linklenmedi (404 olmasın diye link YOK) â tıklama bilgi verir 2402 sb.querySelectorAll('[data-sb-service]').forEach(function(el){ 2403 el.addEventListener('click', function(){ /* link sonra eklenecek */ }); 2404 }); 2405})(); 2406</script>
2406 <style> 2407 html, body { 2408 width: 100%; 2409 overflow-x: inherit; 2410 } 2411 2412 .py-6 { 2413 padding-top: 1rem; 2414 padding-bottom: 1rem; 2415 } 2416 .app-header>div.top { 2417 position: relative; 2418 display: -webkit-box; 2419 display: -ms-flexbox; 2420 display: flex; 2421 -webkit-box-align: center; 2422 -ms-flex-align: center; 2423 align-items: center; 2424 border-bottom: 1px solid #e5e5e5; 2425 height: 80px; 2426 padding-top: 5px; 2427 } 2428 2429 :root { 2430 --container-max-width: 1100px; 2431 } 2432 .container { 2433 max-width: var(--container-max-width); 2434 margin: 0 auto; 2435 padding: 0 0; 2436 width: 100%; 2437 } 2438 2439 /* Sticky header için stil */ 2440 .sticky-header { 2441 transform: translateY(-100%); 2442 transition: transform 0.3s ease; 2443 } 2444 2445 .sticky-header.show-sticky { 2446 transform: translateY(0); 2447 } 2448 2449 /* Menü stilleri */ 2450 .sticky-header .nav-link { 2451 position: relative; 2452 } 2453 2454 .sticky-header .nav-link-stick { 2455 position: relative; 2456 } 2457 2458 .sticky-header .nav-link-stick::after { 2459 content: ''; 2460 position: absolute; 2461 bottom: 0; 2462 left: 0; 2463 width: 100%; 2464 height: 2px; 2465 background-color: #e74c3c; 2466 transform: scaleX(0); 2467 transition: transform 0.3s ease; 2468 } 2469 2470 .sticky-header .nav-link::after { 2471 content: ''; 2472 position: absolute; 2473 bottom: 0; 2474 left: 0; 2475 width: 100%; 2476 height: 2px; 2477 background-color: #e74c3c; 2478 transform: scaleX(0); 2479 transition: transform 0.3s ease; 2480 } 2481 2482 .nav-link:hover { 2483 color: #e74c3c; 2484 } 2485 .nav-link-stick:hover { 2486 color: #e74c3c; 2487 } 2488 2489 .sticky-header .nav-link:hover::after { 2490 transform: scaleX(1); 2491 } 2492 2493 /* Arama modalı içindeki sticky header menü stilleri */ 2494 2495 /* Modal stilleri */
2496 .modal-content { 2497 max-height: 90vh; 2498 margin: 1rem; 2499 } 2500 2501 .cities-list { 2502 scrollbar-width: thin; 2503 scrollbar-color: rgba(156, 163, 175, 0.5) transparent; 2504 max-height: 300px; 2505 overflow-y: auto; 2506 padding-right: 10px; 2507 } 2508 2509 .cities-list::-webkit-scrollbar { 2510 width: 6px; 2511 } 2512 2513 .cities-list::-webkit-scrollbar-track { 2514 background: transparent; 2515 } 2516 2517 .cities-list::-webkit-scrollbar-thumb { 2518 background-color: rgba(156, 163, 175, 0.5); 2519 border-radius: 3px; 2520 } 2521 2522 /* Header Base Stiller */ 2523 .app-header { 2524 position: relative; 2525 top: 0; 2526 background: #ffffff; 2527 } 2528 2529 .app-header.sticky { 2530 background: rgba(255,255,255,0.95); 2531 } 2532 2533 /* Hava Durumu Animasyonları */ 2534 .weather-widget .wi { 2535 display: inline-block; 2536 animation: weatherFloat 2s infinite ease-in-out; 2537 transition: all 0.3s ease; 2538 } 2539 2540 .animate-weather { 2541 animation: weatherFloat 2s ease-in-out infinite; 2542 } 2543 2544 @keyframes weatherFloat { 2545 0%, 100% { transform: translateY(0); } 2546 50% { transform: translateY(-3px); } 2547 } 2548 2549 .animate-weather { 2550 animation: weatherFloat 2s ease-in-out infinite; 2551 } 2552 2553 @keyframes weatherFloat { 2554 0%, 100% { transform: translateY(0); } 2555 50% { transform: translateY(-3px); } 2556 } 2557 2558 /* Modal Stiller */ 2559 .modal { 2560 display: none; 2561 position: fixed; 2562 inset: 0; 2563 z-index: 99990; 2564 visibility: hidden; 2565 opacity: 0; 2566 transition: visibility 0s linear 0.2s, opacity 0.2s linear; 2567 } 2568 2569 .modal.active { 2570 display: block; 2571 visibility: visible; 2572 opacity: 1; 2573 transition-delay: 0s; 2574 } 2575
2576 .modal-container { 2577 opacity: 0; 2578 transform: scale(0.95); 2579 transition: all 0.3s ease-out; 2580 } 2581 2582 .modal.active .modal-container { 2583 opacity: 1; 2584 transform: scale(1); 2585 } 2586 2587 /* Arama Sonuçları */ 2588 .search-results { 2589 opacity: 0; 2590 transition: opacity 0.3s ease-out; 2591 top:10px; 2592 } 2593 2594 .search-results.active { 2595 opacity: 1; 2596 } 2597 2598 .search-result { 2599 /* background: white; */ 2600 border-radius: 0.75rem; 2601 margin-bottom: 0.75rem; 2602 box-shadow: 0 1px 3px rgba(0,0,0,0.1); 2603 transition: transform 0.2s ease; 2604 } 2605 2606 .search-result:hover { 2607 transform: translateY(-2px); 2608 } 2609 2610 /* Sidebar Transitions */ 2611 2612 /* Menü stilleri */ 2613 .nav-list { 2614 display: flex; 2615 gap: 1rem; 2616 height: 40px; 2617 } 2618 2619 .nav-link { 2620 position: relative; 2621 } 2622 2623 .nav-link::after { 2624 content: ''; 2625 position: absolute; 2626 bottom: 0; 2627 left: 0; 2628 width: 100%; 2629 height: 2px; 2630 background-color: #e74c3c; 2631 transform: scaleX(0); 2632 transition: transform 0.3s ease; 2633 } 2634 2635 .nav-link:hover::after { 2636 transform: scaleX(1); 2637 } 2638 2639 .nav-link, 2640 2641 .nav-link::after, .sidebar-nav-link::after { 2642 content: ''; 2643 position: absolute; 2644 bottom: 0; 2645 left: 0; 2646 width: 100%; 2647 height: 2px; 2648 background-color: #e74c3c; 2649 transform: scaleX(0); 2650 transition: transform 0.3s ease; 2651 } 2652 2653 .nav-link:hover::after, .sidebar-nav-link:hover::after { 2654 transform: scaleX(1); 2655 } 2656 .menu-trigger-fixed { 2657 position: fixed; 2658 top: 1rem; 2659 right: 1rem; 2660 z-index: 1000; 2661 background: white; 2662 padding: 0.5rem; 2663 border-radius: 0.5rem; 2664 box-shadow: 0 2px 10px rgba(0,0,0,0.1); 2665 } 2666 /* Weather Cities List */ 2667 .city-item { 2668 transition: all 0.2s ease; 2669 } 2670 2671 .city-item:hover { 2672 background-color: #f8fafc; 2673 } 2674 2675 .set-default-city { 2676 transition: all 0.2s ease; 2677 } 2678 2679 .city-item.active { 2680 background-color: #eff6ff; 2681 } 2682 2683 .text-sm { text-align: center;} 2684 2685 2686 /*Hava Duumu ikonlarını animasyonlu yaptım*/ 2687 .weather-icon-animated { 2688 position: relative; 2689 display: inline-flex; 2690 } 2691 2692 /* YaÄmur Animasyonu */ 2693 .weather-rain::before { 2694 content: ''; 2695 position: absolute; 2696 width: 2px; 2697 height: 8px; 2698 background: currentColor; 2699 animation: rainDrop 1s infinite linear; 2700 opacity: 0; 2701 } 2702 2703 .weather-rain::after { 2704 content: ''; 2705 position: absolute; 2706 width: 2px; 2707 height: 8px; 2708 background: currentColor; 2709 animation: rainDrop 1s infinite linear 0.2s; 2710 left: 8px; 2711 opacity: 0; 2712 } 2713 2714 @keyframes rainDrop { 2715 0% { transform: translateY(-10px); opacity: 0; } 2716 50% { opacity: 1; } 2717 100% { transform: translateY(10px); opacity: 0; } 2718 } 2719 2720 /* Kar Animasyonu */ 2721 .weather-snow::before { 2722 content: 'â'; 2723 position: absolute; 2724 font-size: 12px; 2725 animation: snowfall 2s infinite linear; 2726 opacity: 0; 2727 } 2728 2729 .weather-snow::after { 2730 content: 'â'; 2731 position: absolute; 2732 font-size: 10px; 2733 left: 10px; 2734 animation: snowfall 2s infinite linear 0.3s; 2735 opacity: 0; 2736 } 2737 2738 @keyframes snowfall { 2739 0% { transform: translateY(-10px) rotate(0deg); opacity: 0; } 2740 50% { opacity: 1; } 2741 100% { transform: translateY(10px) rotate(360deg); opacity: 0; } 2742 } 2743 2744 /* GüneÅ Animasyonu */ 2745 .weather-sun { 2746 animation: sunshine 3s infinite; 2747 } 2748 2749 @keyframes sunshine { 2750 0%, 100% { transform: scale(1); } 2751 50% { transform: scale(1.1); } 2752 } 2753 2754 /* Bulut Animasyonu */ 2755 .weather-cloud { 2756 animation: float 3s infinite ease-in-out; 2757 } 2758 2759 @keyframes float { 2760 0%, 100% { transform: translateY(0); } 2761 50% { transform: translateY(-5px); } 2762 } 2763 2764 /* Logo animasyonları ana container */ 2765 .logo-wrapper { 2766 position: relative; 2767 overflow: hidden; 2768 display: inline-block; 2769 } 2770 2771 /* 1. GeliÅmiÅ Parıltı Efekti */ 2772 .logo-shine .logo-wrapper::after { 2773 content: ''; 2774 position: absolute; 2775 top: -50%; 2776 left: -50%; 2777 width: 200%; 2778 height: 200%; 2779 background: linear-gradient( 2780 45deg, 2781 rgba(255,255,255,0) 0%, 2782 rgba(255,255,255,0.2) 40%, 2783 rgba(255,255,255,0.8) 50%, 2784 rgba(255,255,255,0.2) 60%, 2785 rgba(255,255,255,0) 100% 2786 ); 2787 transform: rotate(25deg); 2788 animation: shine-effect var(--animation-interval, 60s) linear infinite; 2789 } 2790 2791 @keyframes shine-effect { 2792 0%, 100% { transform: translateX(-100%) rotate(25deg); } 2793 2%, 4% { transform: translateX(100%) rotate(25deg); } 2794 6%, 98% { transform: translateX(-100%) rotate(25deg); } 2795 } 2796 2797 /* 2. 3D Flip Efekti */ 2798 .logo-flip .logo-image { 2799 animation: flip-effect var(--animation-interval, 60s) ease-in-out infinite; 2800 transform-style: preserve-3d; 2801 perspective: 1000px; 2802 } 2803 2804 @keyframes flip-effect { 2805 0%, 100% { transform: rotateY(0); } 2806 2% { transform: rotateY(180deg); } 2807 4% { transform: rotateY(360deg); } 2808 6% { transform: rotateY(0); } 2809 } 2810 2811 /* 3. Neon IÅıltı Efekti */ 2812 .logo-neon .logo-image { 2813 animation: neon-effect var(--animation-interval, 60s) ease-in-out infinite; 2814 } 2815 2816 @keyframes neon-effect { 2817 0%, 100% { filter: drop-shadow(0 0 0 rgba(255,255,255,0)); } 2818 2% { 2819 filter: 2820 drop-shadow(0 0 5px rgba(255,255,255,0.8)) 2821 drop-shadow(0 0 10px rgba(0,255,255,0.8)) 2822 drop-shadow(0 0 15px rgba(0,255,255,0.6)) 2823 drop-shadow(0 0 20px rgba(0,255,255,0.4)); 2824 } 2825 4% { filter: drop-shadow(0 0 0 rgba(255,255,255,0)); } 2826 } 2827 2828 /* 4. Morph Zoom Efekti */ 2829 .logo-morph .logo-image { 2830 animation: morph-effect var(--animation-interval, 60s) ease-in-out infinite; 2831 } 2832 2833 @keyframes morph-effect { 2834 0%, 100% { transform: scale(1) rotate(0); } 2835 2% { transform: scale(1.1) rotate(5deg); } 2836 3% { transform: scale(0.9) rotate(-5deg); } 2837 4% { transform: scale(1.05) rotate(3deg); } 2838 5% { transform: scale(1) rotate(0); } 2839 } 2840 2841 /* 5. Rainbow Border Efekti */ 2842 .logo-rainbow .logo-wrapper::before { 2843 content: ''; 2844 position: absolute; 2845 inset: -3px; 2846 background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000); 2847 animation: rainbow-effect var(--animation-interval, 60s) linear infinite; 2848 background-size: 400%; 2849 z-index: -1; 2850 filter: blur(5px); 2851 opacity: 0; 2852 } 2853 2854 @keyframes rainbow-effect { 2855 0%, 100% { opacity: 0; } 2856 2% { opacity: 1; background-position: 0 100%; } 2857 4% { opacity: 1; background-position: 100% 0; } 2858 6% { opacity: 0; } 2859 } 2860 2861 /* 6. Glitch Efekti */ 2862 .logo-glitch .logo-image { 2863 animation: glitch-effect var(--animation-interval, 60s) linear infinite; 2864 } 2865 2866 @keyframes glitch-effect { 2867 0%, 100% { transform: translate(0); filter: none; } 2868 2% { transform: translate(-3px, 2px); filter: hue-rotate(90deg); } 2869 2.1% { transform: translate(3px, -2px); filter: hue-rotate(-90deg); } 2870 2.2% { transform: translate(-3px, 2px); filter: hue-rotate(0deg); } 2871 2.3% { transform: translate(3px, -2px); filter: hue-rotate(90deg); } 2872 2.4% { transform: translate(0); filter: none; } 2873 } 2874 2875 /* 7. Shockwave Efekti */ 2876 .logo-shockwave .logo-wrapper::after { 2877 content: ''; 2878 position: absolute; 2879 top: 50%; 2880 left: 50%; 2881 width: 0; 2882 height: 0; 2883 background: radial-gradient(circle, rgba(255,255,255,0.8) 0%, rgba(255,255,255,0) 70%); 2884 border-radius: 50%; 2885 animation: shockwave-effect var(--animation-interval, 60s) ease-out infinite; 2886 } 2887 2888 @keyframes shockwave-effect { 2889 0%, 100% { width: 0; height: 0; opacity: 0; transform: translate(-50%, -50%); } 2890 2% { width: 200%; height: 200%; opacity: 1; transform: translate(-50%, -50%); } 2891 4% { width: 300%; height: 300%; opacity: 0; transform: translate(-50%, -50%); } 2892 6% { width: 0; height: 0; opacity: 0; transform: translate(-50%, -50%); } 2893 } 2894 2895 /* 8. Matrix Rain Efekti */ 2896 .logo-matrix .logo-wrapper::before { 2897 content: ''; 2898 position: absolute; 2899 top: 0; 2900 left: 0; 2901 width: 100%; 2902 height: 100%; 2903 background: linear-gradient(180deg, 2904 rgba(0,255,0,0) 0%, 2905 rgba(0,255,0,0.2) 50%, 2906 rgba(0,255,0,0) 100%); 2907 animation: matrix-effect var(--animation-interval, 60s) linear infinite; 2908 opacity: 0; 2909 } 2910 2911 @keyframes matrix-effect { 2912 0%, 100% { opacity: 0; transform: translateY(-100%); } 2913 2% { opacity: 1; transform: translateY(100%); } 2914 4% { opacity: 0; transform: translateY(100%); } 2915 } 2916 2917 /* 9. Hologram Efekti */ 2918 .logo-hologram .logo-image { 2919 animation: hologram-effect var(--animation-interval, 60s) ease-in-out infinite; 2920 } 2921 2922 @keyframes hologram-effect { 2923 0%, 100% { 2924 opacity: 1; 2925 filter: none; 2926 transform: scale(1); 2927 } 2928 2% { 2929 opacity: 0.8; 2930 filter: 2931 brightness(1.2) 2932 contrast(1.2) 2933 saturate(1.5) 2934 hue-rotate(45deg) 2935 blur(1px); 2936 transform: scale(1.02) skew(2deg); 2937 } 2938 2.5% { 2939 opacity: 0.9; 2940 filter: 2941 brightness(1.1) 2942 contrast(1.1) 2943 saturate(1.2) 2944 hue-rotate(-45deg) 2945 blur(0.5px); 2946 transform: scale(0.98) skew(-2deg); 2947 } 2948 3% { 2949 opacity: 1; 2950 filter: none; 2951 transform: scale(1); 2952 } 2953 } 2954 2955 /* 10. Energy Pulse Efekti */ 2956 .logo-energy .logo-wrapper::before, 2957 .logo-energy .logo-wrapper::after { 2958 content: ''; 2959 position: absolute; 2960 inset: 0; 2961 border: 2px solid transparent; 2962 border-radius: 50%; 2963 animation: energy-effect var(--animation-interval, 60s) ease-in-out infinite; 2964 } 2965 2966 .logo-energy .logo-wrapper::after { 2967 animation-delay: 0.5s; 2968 } 2969 2970 @keyframes energy-effect { 2971 0%, 100% { 2972 transform: scale(1); 2973 border-color: transparent; 2974 box-shadow: none; 2975 } 2976 2% { 2977 transform: scale(1.2); 2978 border-color: #00ffff; 2979 box-shadow: 2980 0 0 20px #00ffff, 2981 inset 0 0 20px #00ffff; 2982 } 2983 4% { 2984 transform: scale(2); 2985 border-color: transparent; 2986 box-shadow: none; 2987 opacity: 0; 2988 } 2989 6% { 2990 transform: scale(1); 2991 opacity: 0; 2992 } 2993 } 2994 2995 .h-8 { 2996 height: 4rem; 2997 } 2998 2999 /* Sidebar Overlay için stiller */ 3000 3001 /* Sidebar için transition'ı düzenle */ 3002 3003 /* Sosyal Medya İkonları için stiller */ 3004 .social-icons-header { 3005 display: flex; 3006 align-items: center; 3007 gap: 0.75rem; 3008 } 3009 3010 .social-icon { 3011 display: flex; 3012 align-items: center; 3013 justify-content: center; 3014 width: 36px; 3015 height: 36px; 3016
3016 border-radius: 50%; 3017 transition: all 0.3s ease; 3018 color: v-bind('settings.style.social_icon_color'); 3019 } 3020 3021 .social-icon:hover { 3022 background-color: rgba(0, 0, 0, 0.05); 3023 color: v-bind('settings.style.social_icon_hover_color'); 3024 } 3025 3026 /* Farklı header tasarımları için özel stiller */ 3027 .header-compact .top-bar { 3028 height: 36px; 3029 background-color: #f8f9fa; 3030 } 3031 3032 .header-centered .logo-container { 3033 display: flex; 3034 justify-content: center; 3035 padding: 1rem 0; 3036 } 3037 3038 .header-centered .nav-container { 3039 display: flex; 3040 justify-content: center; 3041 background-color: #f8f9fa; 3042 } 3043 3044 .header-modern { 3045 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); 3046 } 3047 3048 .header-modern .container { 3049 max-width: 1280px; 3050 } 3051 3052 .header-minimal { 3053 border-bottom: 1px solid #f1f1f1; 3054 } 3055 3056 /* Responsive tasarım için ek stiller */ 3057 @media (max-width: 1024px) { 3058 .header-centered .logo-container { 3059 padding: 0.5rem 0; 3060 } 3061 3062 .header-compact .utilities { 3063 display: none; 3064 } 3065 } 3066 3067 @media (max-width: 768px) { 3068 .header-modern .utilities, 3069 .header-centered .top-bar { 3070 display: none; 3071 } 3072 } 3073 3074 /* Canlı Yayın Menü*/ 3075/* Hover gölge animasyonu */ 3076@keyframes liveShadowColorsHover { 3077 0% { 3078 box-shadow: 3079 0 0 30px rgba(255, 107, 107, 0.8), 3080 0 8px 25px rgba(255, 107, 107, 0.6), 3081 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3082 } 3083 20% { 3084 box-shadow: 3085 0 0 30px rgba(255, 142, 83, 0.8), 3086 0 8px 25px rgba(255, 142, 83, 0.6), 3087 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3088 } 3089 40% { 3090 box-shadow: 3091 0 0 30px rgba(255, 107, 157, 0.8), 3092 0 8px 25px rgba(255, 107, 157, 0.6), 3093 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3094 } 3095 60% { 3096 box-shadow: 3097 0 0 30px rgba(255, 71, 87, 0.8), 3098 0 8px 25px rgba(255, 71, 87, 0.6), 3099 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3100 } 3101 80% { 3102 box-shadow: 3103 0 0 30px rgba(255, 87, 34, 0.8), 3104 0 8px 25px rgba(255, 87, 34, 0.6), 3105 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3106 } 3107 100% { 3108 box-shadow: 3109 0 0 30px rgba(255, 107, 107, 0.8), 3110 0 8px 25px rgba(255, 107, 107, 0.6), 3111 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3112 } 3113}/* Arkaplan animasyonu */ 3114@keyframes liveBackground { 3115 0% { 3116 background-position: 0% 50%; 3117 } 3118 25% { 3119 background-position: 100% 50%; 3120 } 3121 50% { 3122 background-position: 0% 100%; 3123 } 3124 75% { 3125 background-position: 100% 100%; 3126 } 3127 100% { 3128 background-position: 0% 50%; 3129 } 3130}/* ===== CANLI YAYIN ARKAPLAN ANİMASYONU ===== */ 3131 3132.nav-link[href*="canli"]:hover::before, 3133.nav-link[href*="canlı"]:hover::before, 3134.sidebar-nav-link[href*="canli"]:hover::before, 3135.sidebar-nav-link[href*="canlı"]:hover::before, 3136.live-menu-detected:hover::before { 3137 animation: signalRippleHover 2s ease-out infinite !important; 3138} 3139 3140.nav-link[href*="canli"]:hover::after, 3141.nav-link[href*="canlı"]:hover::after, 3142.sidebar-nav-link[href*="canli"]:hover::after, 3143.sidebar-nav-link[href*="canlı"]:hover::after, 3144.live-menu-detected:hover::after { 3145 animation: signalWave1Hover 2s ease-out infinite !important; 3146}/* Hover gölge animasyonu */ 3147@keyframes liveShadowColorsHover { 3148 0% { 3149 box-shadow: 3150 0 0 30px rgba(255, 107, 107, 0.8),
3151 0 8px 25px rgba(255, 107, 107, 0.6), 3152 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3153 } 3154 20% { 3155 box-shadow: 3156 0 0 30px rgba(255, 142, 83, 0.8), 3157 0 8px 25px rgba(255, 142, 83, 0.6), 3158 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3159 } 3160 40% { 3161 box-shadow: 3162 0 0 30px rgba(255, 107, 157, 0.8), 3163 0 8px 25px rgba(255, 107, 157, 0.6), 3164 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3165 } 3166 60% { 3167 box-shadow: 3168 0 0 30px rgba(255, 71, 87, 0.8), 3169 0 8px 25px rgba(255, 71, 87, 0.6), 3170 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3171 } 3172 80% { 3173 box-shadow: 3174 0 0 30px rgba(255, 87, 34, 0.8), 3175 0 8px 25px rgba(255, 87, 34, 0.6), 3176 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3177 } 3178 100% { 3179 box-shadow: 3180 0 0 30px rgba(255, 107, 107, 0.8), 3181 0 8px 25px rgba(255, 107, 107, 0.6), 3182 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3183 } 3184}/* Arkaplan animasyonu */ 3185@keyframes liveBackground { 3186 0% { 3187 background-position: 0% 50%; 3188 } 3189 25% { 3190 background-position: 100% 50%; 3191 } 3192 50% { 3193 background-position: 0% 100%; 3194 } 3195 75% { 3196 background-position: 100% 100%; 3197 } 3198 100% { 3199 background-position: 0% 50%; 3200 } 3201}/* ===== CANLI YAYIN ARKAPLAN ANİMASYONU ===== */ 3202 3203/* Hover gölge animasyonu */ 3204@keyframes liveShadowColorsHover { 3205 0% { 3206 box-shadow: 3207 0 0 30px rgba(255, 107, 107, 0.8), 3208 0 8px 25px rgba(255, 107, 107, 0.6), 3209 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3210 } 3211 20% { 3212 box-shadow: 3213 0 0 30px rgba(255, 142, 83, 0.8), 3214 0 8px 25px rgba(255, 142, 83, 0.6), 3215 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3216 } 3217 40% { 3218 box-shadow: 3219 0 0 30px rgba(255, 107, 157, 0.8), 3220 0 8px 25px rgba(255, 107, 157, 0.6), 3221 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3222 } 3223 60% { 3224 box-shadow: 3225 0 0 30px rgba(255, 71, 87, 0.8), 3226 0 8px 25px rgba(255, 71, 87, 0.6), 3227 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3228 } 3229 80% { 3230 box-shadow: 3231 0 0 30px rgba(255, 87, 34, 0.8), 3232 0 8px 25px rgba(255, 87, 34, 0.6), 3233 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3234 } 3235 100% { 3236 box-shadow: 3237 0 0 30px rgba(255, 107, 107, 0.8), 3238 0 8px 25px rgba(255, 107, 107, 0.6), 3239 inset 0 1px 0 rgba(255, 255, 255, 0.3); 3240 } 3241}/* Arkaplan animasyonu */ 3242@keyframes liveBackground { 3243 0% { 3244 background-position: 0% 50%; 3245 } 3246 25% { 3247 background-position: 100% 50%; 3248 } 3249 50% { 3250 background-position: 0% 100%; 3251 } 3252 75% { 3253 background-position: 100% 100%; 3254 } 3255 100% { 3256 background-position: 0% 50%; 3257 } 3258}/* ===== CANLI YAYIN ARKAPLAN ANİMASYONU ===== */ 3259 3260/* Canlı menüler için muhteÅem arkaplan */ 3261.nav-link[href*="canli"], 3262.nav-link[href*="canlı"], 3263.sidebar-nav-link[href*="canli"], 3264.sidebar-nav-link[href*="canlı"], 3265.live-menu-detected { 3266 position: relative !important; 3267 background: linear-gradient(-45deg, #DC143C, #FF4500, #FF6347, #FF0000, #DC143C, #B22222) !important; 3268 background-size: 400% 400% !important; 3269 color: white !important; 3270 padding: 8px 16px 8px 28px !important; 3271 border-radius: 8px !important; 3272 font-weight: 700 !important; 3273 text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important; 3274 box-shadow: 3275 0 0 20px rgba(220, 20, 60, 0.4), 3276 0 4px 15px rgba(220, 20, 60, 0.3), 3277 inset 0 1px 0 rgba(255, 255, 255, 0.2) !important; 3278 animation: liveBackground 4s ease-in-out infinite, liveShadowColors 6s ease-in-out infinite !important; 3279 transition: all 0.3s ease !important; 3280 margin: 0 4px !important; 3281 overflow: hidden !important; 3282 z-index: 1 !important; 3283} 3284 3285/* 10 renkli gölge animasyonu */ 3286@keyframes liveShadowColors { 3287 0% { 3288 box-shadow: 3289 0 0 25px rgba(255, 0, 0, 0.6), 3290 0 4px 15px rgba(255, 0, 0, 0.4), 3291 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3292 } 3293 10% { 3294 box-shadow: 3295 0 0 25px rgba(255, 165, 0, 0.6), 3296 0 4px 15px rgba(255, 165, 0, 0.4), 3297 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3298 } 3299 20% { 3300 box-shadow: 3301 0 0 25px rgba(255, 255, 0, 0.6), 3302 0 4px 15px rgba(255, 255, 0, 0.4), 3303 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3304 } 3305 30% { 3306 box-shadow: 3307 0 0 25px rgba(0, 255, 0, 0.6), 3308 0 4px 15px rgba(0, 255, 0, 0.4), 3309 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3310 } 3311 40% { 3312 box-shadow: 3313 0 0 25px rgba(0, 255, 255, 0.6), 3314 0 4px 15px rgba(0, 255, 255, 0.4), 3315 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3316 } 3317 50% { 3318 box-shadow: 3319 0 0 25px rgba(0, 0, 255, 0.6), 3320 0 4px 15px rgba(0, 0, 255, 0.4), 3321 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3322 } 3323 60% { 3324 box-shadow: 3325 0 0 25px rgba(128, 0, 128, 0.6), 3326 0 4px 15px rgba(128, 0, 128, 0.4), 3327 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3328 } 3329 70% { 3330 box-shadow: 3331 0 0 25px rgba(255, 0, 255, 0.6), 3332 0 4px 15px rgba(255, 0, 255, 0.4), 3333 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3334 } 3335 80% { 3336 box-shadow: 3337 0 0 25px rgba(255, 192, 203, 0.6), 3338 0 4px 15px rgba(255, 192, 203, 0.4), 3339 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3340 } 3341 90% { 3342 box-shadow: 3343 0 0 25px rgba(255, 20, 147, 0.6), 3344 0 4px 15px rgba(255, 20, 147, 0.4), 3345 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3346 } 3347 100% { 3348 box-shadow: 3349 0 0 25px rgba(255, 0, 0, 0.6), 3350 0 4px 15px rgba(255, 0, 0, 0.4), 3351 inset 0 1px 0 rgba(255, 255, 255, 0.2); 3352 } 3353} 3354 3355/* Yanıp sönen kenarlık efekti - KALDIRILDI */ 3356 3357/* Kenarlık animasyonu - KALDIRILDI */ 3358 3359/* Radyo sinyal dalgası efekti - SOL TARAFTA */
3360.nav-link[href*="canli"]::before, 3361.nav-link[href*="canlı"]::before, 3362.sidebar-nav-link[href*="canli"]::before, 3363.sidebar-nav-link[href*="canlı"]::before, 3364.live-menu-detected::before { 3365 content: '' !important; 3366 position: absolute !important; 3367 top: 50% !important; 3368 left: 8px !important; 3369 width: 16px !important; 3370 height: 16px !important; 3371 background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.5) 30%, transparent 70%) !important; 3372 border-radius: 50% !important; 3373 transform: translateY(-50%) !important; 3374 animation: radioSignal 2s ease-in-out infinite !important; 3375 z-index: 2 !important; 3376} 3377 3378/* Radyo sinyal dalgaları - SOL TARAFTA */ 3379.nav-link[href*="canli"]::after, 3380.nav-link[href*="canlı"]::after, 3381.sidebar-nav-link[href*="canli"]::after, 3382.sidebar-nav-link[href*="canlı"]::after, 3383.live-menu-detected::after { 3384 content: '' !important; 3385 position: absolute !important; 3386 top: 50% !important; 3387 left: 8px !important; 3388 width: 16px !important; 3389 height: 16px !important; 3390 border: 2px solid rgba(255,255,255,0.7) !important; 3391 border-radius: 50% !important; 3392 transform: translateY(-50%) !important; 3393 animation: radioWaves 2s ease-in-out infinite !important; 3394 z-index: 1 !important; 3395} 3396 3397/* Radyo sinyal animasyonları */ 3398@keyframes radioSignal { 3399 0%, 100% { 3400 transform: translateY(-50%) scale(1); 3401 opacity: 1; 3402 } 3403 50% { 3404 transform: translateY(-50%) scale(1.2); 3405 opacity: 0.7; 3406 } 3407} 3408 3409@keyframes radioWaves { 3410 0% { 3411 transform: translateY(-50%) scale(1); 3412 opacity: 0.6; 3413 } 3414 50% { 3415 transform: translateY(-50%) scale(2); 3416 opacity: 0; 3417 } 3418 100% { 3419 transform: translateY(-50%) scale(1); 3420 opacity: 0.6; 3421 } 3422} 3423 3424/* Hover efektleri - AÃIK RENKLER */ 3425.nav-link[href*="canli"]:hover, 3426.nav-link[href*="canlı"]:hover, 3427.sidebar-nav-link[href*="canli"]:hover, 3428.sidebar-nav-link[href*="canlı"]:hover, 3429.live-menu-detected:hover { 3430 background: linear-gradient(-45deg, #FF6B6B, #FF8E53, #FF6B9D, #FF4757, #FF6B6B, #FF5722) !important; 3431 background-size: 400% 400% !important; 3432 transform: translateY(-2px) scale(1.05) !important; 3433 animation: liveBackgroundHover 2s ease-in-out infinite, liveShadowColorsHover 3s ease-in-out infinite !important; 3434} 3435 3436@keyframes liveBackgroundHover { 3437 0% { background-position: 0% 50%; } 3438 50% { background-position: 100% 50%; } 3439 100% { background-position: 0% 50%; } 3440} 3441 3442.nav-link[href*="canli"]:hover::before, 3443.nav-link[href*="canlı"]:hover::before, 3444.sidebar-nav-link[href*="canli"]:hover::before, 3445.sidebar-nav-link[href*="canlı"]:hover::before, 3446.live-menu-detected:hover::before { 3447 animation: radioSignalHover 1s ease-in-out infinite !important; 3448} 3449 3450.nav-link[href*="canli"]:hover::after, 3451.nav-link[href*="canlı"]:hover::after, 3452.sidebar-nav-link[href*="canli"]:hover::after, 3453.sidebar-nav-link[href*="canlı"]:hover::after, 3454.live-menu-detected:hover::after { 3455 animation: radioWavesHover 1s ease-in-out infinite !important; 3456} 3457 3458@keyframes radioSignalHover { 3459 0%, 100% { 3460 transform: translateY(-50%) scale(1.2); 3461 opacity: 1; 3462 } 3463 50% { 3464 transform: translateY(-50%) scale(1.5); 3465 opacity: 0.8; 3466 } 3467} 3468 3469@keyframes radioWavesHover { 3470 0% { 3471 transform: translateY(-50%) scale(1.2); 3472 opacity: 0.8; 3473 } 3474 50% { 3475 transform: translateY(-50%) scale(2.5); 3476 opacity: 0; 3477 } 3478 100% { 3479 transform: translateY(-50%) scale(1.2); 3480 opacity: 0.8; 3481 } 3482} 3483 3484/* Sticky header'da kompakt */ 3485.sticky-header .nav-link[href*="canli"], 3486.sticky-header .nav-link[href*="canlı"], 3487.sticky-header .live-menu-detected { 3488 padding: 6px 12px 6px 24px !important; 3489 font-size: 13px !important; 3490 border-radius: 6px !important; 3491} 3492 3493.sticky-header .nav-link[href*="canli"]::before, 3494.sticky-header .nav-link[href*="canlı"]::before, 3495.sticky-header .live-menu-detected::before, 3496.sticky-header .nav-link[href*="canli"]::after, 3497.sticky-header .nav-link[href*="canlı"]::after, 3498.sticky-header .live-menu-detected::after { 3499 width: 12px !important; 3500 height: 12px !important; 3501 left: 6px !important; 3502} 3503 3504/* Sidebar'da özel stil */
3505.sidebar-nav-link[href*="canli"], 3506.sidebar-nav-link[href*="canlı"] { 3507 margin: 2px 6px !important; 3508 border-radius: 8px !important; 3509 padding-left: 26px !important; 3510} 3511 3512.sidebar-nav-link[href*="canli"]::before, 3513.sidebar-nav-link[href*="canlı"]::before, 3514.sidebar-nav-link[href*="canli"]::after, 3515.sidebar-nav-link[href*="canlı"]::after { 3516 left: 8px !important; 3517} 3518 3519/* Focus durumu */ 3520.nav-link[href*="canli"]:focus, 3521.nav-link[href*="canlı"]:focus, 3522.sidebar-nav-link[href*="canli"]:focus, 3523.sidebar-nav-link[href*="canlı"]:focus, 3524.live-menu-detected:focus { 3525 outline: 3px solid rgba(255, 255, 255, 0.6) !important; 3526 outline-offset: 3px !important; 3527} 3528 3529/* Mobil responsive */ 3530@media (max-width: 768px) { 3531 .nav-link[href*="canli"], 3532 .nav-link[href*="canlı"], 3533 .live-menu-detected { 3534 padding: 6px 12px 6px 22px !important; 3535 font-size: 13px !important; 3536 margin: 0 2px !important; 3537 } 3538 3539 .nav-link[href*="canli"]::before, 3540 .nav-link[href*="canlı"]::before, 3541 .live-menu-detected::before, 3542 .nav-link[href*="canli"]::after, 3543 .nav-link[href*="canlı"]::after, 3544 .live-menu-detected::after { 3545 width: 12px !important; 3546 height: 12px !important; 3547 left: 5px !important; 3548 } 3549} 3550 3551/* Print media için */ 3552@media print { 3553 .nav-link[href*="canli"], 3554 .nav-link[href*="canlı"], 3555 .live-menu-detected { 3556 background: #ff0000 !important; 3557 color: white !important; 3558 animation: none !important; 3559 } 3560 3561 .nav-link[href*="canli"]::before, 3562 .nav-link[href*="canlı"]::before, 3563 .nav-link[href*="canli"]::after, 3564 .nav-link[href*="canlı"]::after, 3565 .live-menu-detected::before, 3566 .live-menu-detected::after { 3567 display: none !important; 3568 } 3569} 3570 </style> 3571 3572
3572<script> 3573 document.addEventListener('DOMContentLoaded', function() { 3574 // Elements 3575 const header = document.querySelector('.app-header'); 3576 const stickyHeader = document.querySelector('.sticky-header'); 3577 const weatherWidget = document.getElementById('weatherWidget'); 3578 const weatherModal = document.getElementById('weatherModal'); 3579 const citySearch = weatherModal.querySelector('.city-search'); 3580 const cityItems = weatherModal.querySelectorAll('.city-item'); 3581 3582 // Modal Yönetimi Fonksiyonları 3583 function openWeatherModal() { 3584 if (!weatherModal || false) return; 3585 weatherModal.classList.add('active'); 3586 document.body.style.overflow = 'hidden'; 3587 } 3588 3589 function closeWeatherModal() { 3590 if (!weatherModal) return; 3591 weatherModal.classList.remove('active'); 3592 document.body.style.overflow = ''; 3593 3594 // Input varsa temizle 3595 const input = weatherModal.querySelector('.city-search'); 3596 if (input) input.value = ''; 3597 3598 // Aktif Åehri resetle 3599 const activeCity = weatherModal.querySelector('.city-item.active'); 3600 if (activeCity) activeCity.classList.remove('active'); 3601 } 3602 3603 // Event Listeners 3604 3605 // Close butonları için event listener 3606 // NOT: `closeButtons` eskiden silinen sidebar bloÄunda tanımlıydı ve 3607 // ReferenceError fırlatıp tüm scripti öldürüyordu. Artık burada, 3608 // güvenli Åekilde sorgulanıyor. 3609 var closeButtons = weatherModal ? weatherModal.querySelectorAll('.close-modal, [data-action="close-weather"]') : []; 3610 closeButtons.forEach(function(button){ 3611 button.addEventListener('click', closeWeatherModal); 3612 }); 3613 3614 3615 // Sticky Header Animasyonu 3616 function initializeStickyHeader() { 3617 const stickyHeader = document.querySelector('.sticky-header'); 3618 let lastScroll = 0; 3619 3620 window.addEventListener('scroll', () => { 3621 const currentScroll = window.pageYOffset; 3622 3623 // Scroll yukarı 3624 if (currentScroll < lastScroll) { 3625 stickyHeader.style.transform = 'translateY(0)'; 3626 } 3627 // Scroll aÅaÄı 3628 else { 3629 stickyHeader.style.transform = 'translateY(-100%)'; 3630 } 3631 3632 // Header görünürlüÄü için minimum scroll deÄeri 3633 if (currentScroll <= 0) { 3634 stickyHeader.style.transform = 'translateY(-100%)'; 3635 } 3636 3637 lastScroll = currentScroll; 3638 }); 3639 } 3640 3641 // Live Search â KALDIRILDI. 3642 // Bu blok tamamen silinen arama MODALINA aitti (searchInput/searchResults 3643 // artık yok) ve "searchInput is not defined" ReferenceError fırlatıp 3644 // tüm script bloÄunu öldürüyordu. Yeni arama çubuÄu search.php içinde, 3645 // kendi baÄımsız JS'i ile çalıÅır. 3646 // Hava Durumu İl Seçimi ve LocalStorage 3647 function initializeWeatherCity() { 3648 // Varsayılan Åehri kontrol et 3649 const defaultCity = localStorage.getItem('defaultCity') || '35'; 3650 const defaultCityItem = document.querySelector(`.city-item[data-city-id="${defaultCity}"]`); 3651 if (defaultCityItem) defaultCityItem.classList.add('active'); 3652 3653 // Åehir arama iÅlevi 3654 citySearch?.addEventListener('input', (e) => { 3655 const searchTerm = e.target.value.toLowerCase().trim();
3656 cityItems.forEach(item => { 3657 const cityName = item.querySelector('.city-name').textContent.toLowerCase(); 3658 item.style.display = cityName.includes(searchTerm) ? 'flex' : 'none'; 3659 }); 3660 }); 3661 3662 // Her Åehir öÄesi için event listener'lar 3663 cityItems.forEach(item => { 3664 // Normal Åehir seçimi için click eventi 3665 item.addEventListener('click', async () => { 3666 const cityId = item.dataset.cityId; 3667 const cityName = item.dataset.cityName; 3668 updateWeather(cityId, cityName, false); // false = normal seçim 3669 }); 3670 3671 // Varsayılan yap butonu için click eventi 3672 const defaultButton = item.querySelector('.set-default-city'); 3673 if (defaultButton) { 3674 defaultButton.addEventListener('click', (e) => { 3675 e.stopPropagation(); // Ana Åehir tıklamasını engelle 3676 const cityId = item.dataset.cityId; 3677 const cityName = item.dataset.cityName; 3678 3679 // LocalStorage'a kaydet 3680 localStorage.setItem('defaultCity', cityId); 3681 localStorage.setItem('defaultCityName', cityName); 3682 3683 // Aktif Åehri güncelle 3684 document.querySelectorAll('.city-item.active').forEach(el => { 3685 el.classList.remove('active'); 3686 }); 3687 item.classList.add('active'); 3688 3689 updateWeather(cityId, cityName, true); // true = varsayılan yapma 3690 }); 3691 } 3692 }); 3693 3694 // Åehir bilgilerini güncelleyen yardımcı fonksiyon 3695 async function updateWeather(cityId, cityName, isDefault) { 3696 try { 3697 const response = await fetch('/api/weather.php', { 3698 method: 'POST', 3699 headers: { 3700 'Content-Type': 'application/json', 3701 'X-Requested-With': 'XMLHttpRequest' 3702 }, 3703 body: JSON.stringify({ cityId }) 3704 }); 3705 3706 if (response.ok) { 3707 const result = await response.json(); 3708 3709 // Tüm weather widget'larını güncelle 3710 document.querySelectorAll('.weather-widget, .bg-blue-50.rounded-xl').forEach(widget => { 3711 const iconEl = widget.querySelector('.wi'); 3712 const cityEl = widget.querySelector('.city-name'); 3713 const tempEl = widget.querySelector('.temperature'); 3714 const conditionEl = widget.querySelector('.condition'); 3715 3716 if (result.data) { 3717 if (iconEl) { 3718 iconEl.className = `wi ${result.data.icon} text-4xl animate-weather`; 3719 } 3720 if (cityEl) cityEl.textContent = cityName; 3721 if (tempEl) tempEl.textContent = `${result.data.temperature}°C`; 3722 if (conditionEl) conditionEl.textContent = result.data.condition; 3723 } 3724 }); 3725 3726 // EÄer varsayılan yapma iÅlemiyse bildirim göster 3727 if (isDefault) { 3728 alert(`${cityName} varsayılan Åehir olarak ayarlandı`); 3729 } 3730 3731 closeModal(weatherModal); 3732 } 3733 } catch (error) { 3734 console.error('Weather update error:', error); 3735 } 3736 } 3737 3738 // Weather Widget click event'i 3739 weatherWidget?.addEventListener('click', () => { 3740 if (true) { 3741 openModal(weatherModal); 3742 } 3743 }); 3744 3745 // Sayfa yüklendiÄinde varsayılan Åehri kontrol et 3746 const savedCity = localStorage.getItem('defaultCity'); 3747 const savedCityName = localStorage.getItem('defaultCityName'); 3748 3749 if (savedCity && savedCityName) { 3750 updateWeather(savedCity, savedCityName, false); 3751 } 3752 } 3753 3754 // Modal Functions 3755 function openModal(modal) { 3756 scrollPosition = window.pageYOffset; 3757 modal.classList.add('active'); 3758 document.body.style.overflow = 'hidden'; 3759 3760 3761 // Arama modalı açıldıÄında sticky header'ı
3761sabitle 3762 3763 // Close button event listener 3764 const closeBtn = modal.querySelector('.close-modal'); 3765 if (closeBtn) { 3766 closeBtn.addEventListener('click', () => closeModal(modal)); 3767 } 3768 3769 // Overlay click to close 3770 const overlay = modal.querySelector('.modal-overlay'); 3771 if (overlay) { 3772 overlay.addEventListener('click', (e) => { 3773 if (e.target === overlay) { 3774 closeModal(modal); 3775 } 3776 }); 3777 } 3778 } 3779 3780 function closeModal(modal) { 3781 modal.classList.remove('active'); 3782 document.body.style.overflow = ''; 3783 3784 // Arama modalı kapatıldıÄında sticky header sabitlemeyi kaldır 3785 3786 const input = modal.querySelector('input'); 3787 if (input) input.value = ''; 3788 } 3789 3790 // Event Listeners 3791 if (weatherWidget && 'hidden' === 'hidden') { 3792 weatherWidget.addEventListener('click', () => openModal(weatherModal)); 3793 } else if (weatherWidget) { 3794 weatherWidget.style.cursor = 'default'; 3795 weatherWidget.style.pointerEvents = 'none'; 3796 } 3797 3798 document.querySelectorAll('.close-modal, [data-action="close-menu"]').forEach(btn => { 3799 btn.addEventListener('click', () => { 3800 const modal = btn.closest('.modal, .modal-container'); 3801 if (modal && modal.classList.contains('modal')) { 3802 closeModal(modal); 3803 } 3804 }); 3805 }); 3806 3807 document.querySelectorAll('.modal-overlay').forEach(overlay => { 3808 overlay.addEventListener('click', e => { 3809 if (e.target === overlay) { 3810 closeModal(overlay.closest('.modal')); 3811 } 3812 }); 3813 }); 3814 3815 document.addEventListener('keydown', e => { 3816 if (e.key === 'Escape') { 3817 document.querySelectorAll('.modal.active').forEach(closeModal); 3818 } 3819 }); 3820 3821 // Initialize Components 3822 initializeWeatherCity(); 3823 initializeStickyHeader(); 3824 }); 3825 3826 // Sayfa yüklendiÄinde slider'ı baÅlat 3827 document.addEventListener('DOMContentLoaded', function() { 3828 // Header widget'ını bul 3829 const headerWidget = document.querySelector('.widget-container-header'); 3830 if (!headerWidget) return; 3831 3832 // Body elementi 3833 const body = document.body; 3834 if (!body) return; 3835 3836 // Header widget'ını doÄru pozisyona taÅı 3837 document.documentElement.insertBefore(headerWidget, body); 3838 3839 // Position fixed ve z-index ekle 3840 headerWidget.style.position = 'relative'; 3841 headerWidget.style.zIndex = '1000'; 3842 headerWidget.style.width = '100%'; 3843 }); 3844 3845 // Hover effect initialization 3846 document.querySelectorAll('.nav-link, .submenu a').forEach(el => { 3847 el.addEventListener('mouseenter', function() { 3848 if(this.classList.contains('nav-link')) { 3849 this.style.color = '#e74c3c'; 3850 } 3851 }); 3852 3853 el.addEventListener('mouseleave', function() { 3854 if(this.classList.contains('nav-link')) { 3855 this.style.color = '#ffffff'; 3856 } 3857 }); 3858 }); 3859 3860 // Logo animasyon kontrolü 3861 function initLogoAnimations() { 3862 const logoElements = document.querySelectorAll('.logo-animated'); 3863
3864 logoElements.forEach(logo => { 3865 const interval = parseInt(logo.dataset.interval) * 1000; 3866 logo.style.setProperty('--animation-interval', `${interval}ms`); 3867 3868 // İlk animasyonu hemen baÅlat 3869 resetAnimation(logo); 3870 3871 // Belirtilen aralıkta çift animasyonu baÅlat 3872 setInterval(() => { 3873 // İlk animasyon 3874 resetAnimation(logo); 3875 3876 // 1 saniye sonra ikinci animasyon 3877 setTimeout(() => { 3878 resetAnimation(logo); 3879 }, 1000); 3880 }, interval); 3881 }); 3882 } 3883 3884 function resetAnimation(element) { 3885 const animations = element.classList; 3886 animations.forEach(className => { 3887 if(className.startsWith('logo-')) { 3888 element.classList.remove(className); 3889 void element.offsetWidth; // Reflow 3890 element.classList.add(className); 3891 } 3892 }); 3893 } 3894 3895 document.addEventListener('DOMContentLoaded', initLogoAnimations); 3896 3897// Canlı yayın menülerini algılayan ve stil uygulayan JavaScript 3898 3899document.addEventListener('DOMContentLoaded', function() { 3900 3901 // Canlı yayın kelimelerinin tüm varyasyonları 3902 const liveKeywords = [ 3903 'canlı', 3904 'canli', 3905 'CANLI', 3906 'CANLI', 3907 'Canlı', 3908 'Canli', 3909 'live', 3910 'LIVE', 3911 'Live', 3912 'canlı yayın', 3913 'canli yayin', 3914 'canlı izle', 3915 'canli izle', 3916 'live stream', 3917 'livestream' 3918 ]; 3919 3920 // Menü seçicileri - mümkün olan tüm menü türleri 3921 const menuSelectors = [ 3922 '.nav-link', // Ana menü linkleri 3923 '.sidebar-nav-link', // Sidebar menü linkleri 3924 'nav > a', // Nav içindeki direkt linkler 3925 'nav > ul > li > a', // Nav içindeki liste linkleri 3926 '.navigation > a', // Navigation container'ındaki direkt linkler 3927 '.navigation > ul > li > a' // Navigation liste linkleri 3928 ]; 3929 3930 // Canlı menüleri algılayan ana fonksiyon 3931 function detectLiveMenus() { 3932 try { 3933 let detectedCount = 0; 3934 3935 // Tüm seçicileri kontrol et 3936 menuSelectors.forEach(selector => { 3937 try { 3938 const menuItems = document.querySelectorAll(selector); 3939 3940 menuItems.forEach(item => { 3941 try { 3942 // Zaten iÅlenmiÅ mi kontrol et 3943 if (item.classList.contains('live-menu-processed')) { 3944 return; 3945 } 3946 3947 // Menü metnini al 3948 const menuText = item.textContent.toLowerCase().trim(); 3949 3950 // URL'yi al 3951 const href = (item.getAttribute('href') || '').toLowerCase(); 3952 3953 // Canlı kelimesi var mı kontrol et 3954 const hasLiveInText = liveKeywords.some(keyword => 3955 menuText.includes(keyword.toLowerCase()) 3956 ); 3957 3958 const hasLiveInHref = liveKeywords.some(keyword => 3959 href.includes(keyword.toLowerCase()) 3960 ); 3961 3962 // EÄer canlı yayın menüsü tespit edildiyse 3963 if (hasLiveInText || hasLiveInHref) { 3964 // Class ekle - animasyonlar için 3965 item.classList.add('live-menu-detected'); 3966 item.classList.add('live-menu-processed'); 3967 3968 // Pozisyon ayarla (animasyonlar için gerekli) 3969 const computedStyle = window.getComputedStyle(item); 3970 if (computedStyle.position === 'static') { 3971 item.style.position = 'relative'; 3972 } 3973 3974 // Overflow visible yap (dalgalar için) 3975 item.style.overflow = 'visible'; 3976 3977 // Padding ayarla (sol tarafta sinyal için yer aç) 3978 const currentPadding = computedStyle.paddingLeft; 3979 const paddingValue = parseInt(currentPadding) || 8; 3980 if (paddingValue < 20) { 3981 item.style.paddingLeft = '28px'; 3982 } 3983 3984 // Z-index ayarla 3985 item.style.zIndex = '1'; 3986 3987 detectedCount++; 3988 3989 console.log(`â Canlı yayın menüsü tespit edildi: "${menuText.substring(0, 30)}..." - URL: ${href}`); 3990 3991 // Manuel animasyon tetikleme (CSS yükleme sorunları için) 3992 setTimeout(() => { 3993 triggerAnimations(item); 3994 }, 100); 3995 } 3996 3997 } catch (itemError) { 3998 console.warn('Menü öÄesi iÅlenirken hata:', itemError); 3999 } 4000 }); 4001 4002 } catch (selectorError) { 4003 console.warn(`Seçici "${selector}" iÅlenirken hata:`, selectorError); 4004 } 4005 }); 4006 4007 if (detectedCount > 0) { 4008 console.log(`ð¯ Toplam ${detectedCount} canlı yayın menüsü tespit edildi!`); 4009 // CSS animasyonlarını kontrol et 4010 checkAnimations(); 4011 } else { 4012 console.log('â¹ï¸ Hiç canlı yayın menüsü bulunamadı.'); 4013 } 4014 4015 } catch (error) { 4016 console.error('detectLiveMenus fonksiyonunda hata:', error); 4017 } 4018 } 4019 4020 // Animasyonları manuel tetikleme fonksiyonu 4021 function triggerAnimations(element) { 4022 try { 4023 // CSS animasyonlarını yeniden baÅlat 4024 const beforeElement = window.getComputedStyle(element, '::before'); 4025 const afterElement = window.getComputedStyle(element, '::after'); 4026 4027 // Animasyon durumunu kontrol et 4028 if (beforeElement.animationName === 'none' || afterElement.animationName === 'none') { 4029 console.warn('CSS animasyonları yüklenmemiÅ, manuel ekleniyor...'); 4030 addManualAnimations(element); 4031 } 4032 4033 } catch (error) { 4034 console.warn('Animasyon tetikleme hatası:', error); 4035 } 4036 } 4037 4038 // Manuel animasyon ekleme fonksiyonu 4039 function addManualAnimations(element) { 4040 try { 4041 // EÄer CSS animasyonları çalıÅmıyorsa JavaScript ile animasyon ekle
4042 element.style.animation = 'liveBackground 4s ease-in-out infinite, liveShadowColors 6s ease-in-out infinite'; 4043 4044 // Pseudo element'ler için style ekleme 4045 const styleSheet = document.styleSheets[0]; 4046 if (styleSheet) { 4047 const beforeRule = ` 4048 .live-menu-detected::before { 4049 animation: signalRipple 3s ease-out infinite !important; 4050 } 4051 `; 4052 const afterRule = ` 4053 .live-menu-detected::after { 4054 animation: signalWave1 3s ease-out infinite !important; 4055 } 4056 `; 4057 4058 try { 4059 styleSheet.insertRule(beforeRule, styleSheet.cssRules.length); 4060 styleSheet.insertRule(afterRule, styleSheet.cssRules.length); 4061 } catch (ruleError) { 4062 console.warn('CSS kuralı ekleme hatası:', ruleError); 4063 } 4064 } 4065 4066 } catch (error) { 4067 console.warn('Manuel animasyon ekleme hatası:', error); 4068 } 4069 } 4070 4071 // CSS animasyonlarını kontrol etme fonksiyonu 4072 function checkAnimations() { 4073 const liveElements = document.querySelectorAll('.live-menu-detected'); 4074 liveElements.forEach(element => { 4075 const computedStyle = window.getComputedStyle(element); 4076 if (computedStyle.animationName === 'none') { 4077 console.warn('Animasyon bulunamadı, yeniden tetikleniyor...'); 4078 addManualAnimations(element); 4079 } 4080 }); 4081 } 4082 4083 // Sayfa yüklendiÄinde çalıÅtır 4084 detectLiveMenus(); 4085 4086 // DOM deÄiÅikliklerini izleyen observer 4087 const observer = new MutationObserver(function(mutations) { 4088 let shouldCheck = false; 4089 4090 mutations.forEach(function(mutation) { 4091 // Yeni node eklendiÄinde 4092 if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { 4093 // Eklenen node'lar arasında element var mı kontrol et 4094 for (let node of mutation.addedNodes) { 4095 if (node.nodeType === Node.ELEMENT_NODE) { 4096 shouldCheck = true; 4097 break; 4098 } 4099 } 4100 } 4101 4102 // Attribute deÄiÅtiÄinde (href deÄiÅimi vs.) 4103 if (mutation.type === 'attributes' && 4104 (mutation.attributeName === 'href' || mutation.attributeName === 'class')) { 4105 shouldCheck = true; 4106 } 4107 }); 4108 4109 if (shouldCheck) { 4110 // Kısa bir gecikme ile çalıÅtır (performans için) 4111 setTimeout(detectLiveMenus, 100); 4112 } 4113 }); 4114 4115 // Observer'ı baÅlat 4116 observer.observe(document.body, { 4117 childList: true, 4118 subtree: true, 4119 attributes: true, 4120 attributeFilter: ['href', 'class'] 4121 }); 4122 4123 // CSS yükleme kontrol fonksiyonu 4124 function ensureCSSLoaded() { 4125 return new Promise((resolve) => { 4126 // CSS'in yüklenip yüklenmediÄini kontrol et 4127 const testElement = document.createElement('div'); 4128 testElement.className = 'live-menu-detected'; 4129 testElement.style.position = 'absolute'; 4130 testElement.style.visibility = 'hidden'; 4131 document.body.appendChild(testElement); 4132 4133 setTimeout(() => { 4134 const computedStyle = window.getComputedStyle(testElement); 4135 const hasAnimation = computedStyle.animationName !== 'none'; 4136 document.body.removeChild(testElement); 4137 4138 if (!hasAnimation) { 4139 console.warn('CSS animasyonları yüklenmemiÅ, yeniden deneniyor...'); 4140 setTimeout(() => detectLiveMenus(), 500); 4141 } 4142 resolve(hasAnimation); 4143 }, 100); 4144 }); 4145 } 4146 4147 // AJAX yüklemelerini yakala
4148 const originalXHROpen = XMLHttpRequest.prototype.open; 4149 XMLHttpRequest.prototype.open = function() { 4150 this.addEventListener('load', function() { 4151 setTimeout(detectLiveMenus, 500); 4152 }); 4153 return originalXHROpen.apply(this, arguments); 4154 }; 4155 4156 // Fetch API'yi yakala 4157 const originalFetch = window.fetch; 4158 window.fetch = function() { 4159 return originalFetch.apply(this, arguments).then(response => { 4160 setTimeout(detectLiveMenus, 500); 4161 return response; 4162 }); 4163 }; 4164 4165 // Gecikmeli kontroller (AJAX içerik için) 4166 setTimeout(detectLiveMenus, 1000); 4167 setTimeout(detectLiveMenus, 3000); 4168 setTimeout(() => { 4169 detectLiveMenus(); 4170 ensureCSSLoaded(); 4171 }, 5000); 4172 4173 // CSS yükleme kontrolü 4174 ensureCSSLoaded(); 4175 4176 // Manuel tetikleme fonksiyonu (konsol için) 4177 window.detectLiveMenus = function() { 4178 console.log('ð Manuel canlı menü taraması baÅlatılıyor...'); 4179 // Processed class'larını temizle 4180 document.querySelectorAll('.live-menu-processed').forEach(item => { 4181 item.classList.remove('live-menu-processed'); 4182 }); 4183 detectLiveMenus(); 4184 }; 4185 4186 // Animasyon yenileme fonksiyonu 4187 window.refreshLiveAnimations = function() { 4188 console.log('ð¬ Canlı menü animasyonları yenileniyor...'); 4189 const liveElements = document.querySelectorAll('.live-menu-detected'); 4190 liveElements.forEach(element => { 4191 // Animasyonu sıfırla ve yeniden baÅlat
4192 element.style.animation = 'none'; 4193 element.offsetHeight; // Reflow zorla 4194 element.style.animation = 'liveBackground 4s ease-in-out infinite, liveShadowColors 6s ease-in-out infinite'; 4195 4196 triggerAnimations(element); 4197 }); 4198 }; 4199 4200 // Debug fonksiyonu 4201 window.listAllMenus = function() { 4202 console.log('ð Tüm menü öÄeleri:'); 4203 menuSelectors.forEach(selector => { 4204 try { 4205 const items = document.querySelectorAll(selector); 4206 if (items.length > 0) { 4207 console.log(`${selector}: ${items.length} öÄe`); 4208 items.forEach((item, index) => { 4209 console.log(` ${index + 1}. "${item.textContent.trim()}" - ${item.href || 'href yok'}`); 4210 }); 4211 } 4212 } catch (e) { 4213 console.warn(`Seçici "${selector}" çalıÅmıyor:`, e.message); 4214 } 4215 }); 4216 }; 4217 4218 // Test fonksiyonu 4219 window.testLiveDetection = function() { 4220 console.log('𧪠Canlı kelime testi:'); 4221 liveKeywords.forEach(keyword => { 4222 console.log(`"${keyword}" kelimesi test ediliyor...`); 4223 const testElements = document.querySelectorAll(`a[href*="${keyword}"]`); 4224 console.log(` Bulunan: ${testElements.length} öÄe`); 4225 }); 4226 }; 4227 4228 console.log('ð Canlı yayın menü algılayıcı baÅarıyla yüklendi!'); 4229 console.log('ð¡ Konsol komutları:'); 4230 console.log(' - detectLiveMenus() : Manuel tarama'); 4231 console.log(' - refreshLiveAnimations() : Animasyonları yenile'); 4232 console.log(' - listAllMenus() : Tüm menüleri listele'); 4233 console.log(' - testLiveDetection() : Test fonksiyonu'); 4234 4235}); 4236 4237// Canlı saat güncellemesi 4238 4239// Sayfa tamamen yüklendiÄinde bir kez daha çalıÅtır 4240window.addEventListener('load', function() { 4241 setTimeout(function() { 4242 if (typeof window.detectLiveMenus === 'function') { 4243 window.detectLiveMenus(); 4244 } 4245 if (typeof window.refreshLiveAnimations === 'function') { 4246 window.refreshLiveAnimations(); 4247 } 4248 }, 1000); 4249}); 4250 </script>
4250</div> 4251<main class="app-container" role="main"> 4252 <div class="container"> 4253 4254 4255 <!-- Ana İçerik Alanı --> 4256 <div class="main-content" id="sortable-container"> 4257 4258 <div class="layout layout-sondakika-kategoriler" data-layout-id="1595" data-template="Tam GeniÅlik"><div class="section col-md-12" data-section="0" style="width: calc(100% - 20px); flex: 12;"><div class="widget-container" data-widget-id="549" data-widget-type="breaking-news"><div class="widget-container" data-widget-id="widget_6abc2888b5ae9" data-widget-type="breaking-news"><style> 4259.breaking-news-widget_6abc2888b5ae9 * { 4260 box-sizing: border-box; 4261} 4262.breaking-news-widget_6abc2888b5ae9 { 4263 width: 100%; 4264 max-width: 100%; 4265 overflow-x: hidden; 4266 height: 45px; 4267 background: linear-gradient(45deg, 4268 #000000, 4269 #322c25 ); 4270 } 4271 4272.breaking-news-widget_6abc2888b5ae9:before { 4273 content: ''; 4274 position: absolute; 4275 top: 0; 4276 left: 0; 4277 right: 0; 4278 height: 1px; 4279 background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); 4280} 4281 4282.breaking-news-inner { 4283 max-width: 1200px; 4284 height: 100%; 4285 margin: 0 auto; 4286 display: flex; 4287 align-items: center; 4288 padding: 0 15px; 4289 position: relative; 4290} 4291 4292.breaking-title-container { 4293 position: relative; 4294 padding: 0 0; 4295 margin-right: 1px; 4296} 4297 4298.breaking-title-wrapper { 4299 position: relative; 4300 z-index: 2; 4301} 4302 4303.breaking-news-header { 4304 margin: 0; 4305 padding: 1px 0; 4306 color: #ffffff; 4307 font-size: 15px; 4308 font-family: roboto, sans-serif; 4309 font-weight: bold; 4310 display: flex; 4311 align-items: center; 4312 gap: 10px; 4313 position: relative; 4314 text-transform: uppercase; 4315 letter-spacing: 1px; 4316} 4317 4318.breaking-news-header:hover { 4319 color: #f1f1f1; 4320} 4321 4322.breaking-text { 4323 position: relative; 4324 z-index: 2; 4325} 4326 4327.breaking-icon { 4328 width: 8px; 4329 height: 8px; 4330 background: currentColor; 4331 border-radius: 50%; 4332 position: relative; 4333 animation: pulse-ring 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite; 4334} 4335 4336.breaking-icon::after { 4337 content: ''; 4338 position: absolute; 4339 left: -2px; 4340 top: -2px; 4341 width: 12px; 4342 height: 12px; 4343 background: currentColor; 4344 border-radius: 50%; 4345 animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -.4s infinite; 4346} 4347 4348.breaking-icon::before { 4349 content: ''; 4350 position: absolute; 4351 left: -4px; 4352 top: -4px; 4353 width: 16px; 4354 height: 16px; 4355 background: transparent; 4356 border: 2px solid currentColor; 4357 border-radius: 50%; 4358 animation: pulse-ring-outer 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -.8s infinite; 4359} 4360 4361@keyframes pulse-ring { 4362 0% { 4363 transform: scale(.33); 4364 opacity: 0.9; 4365 } 4366 80%, 100% { 4367 opacity: 0; 4368 transform: scale(1); 4369 } 4370} 4371 4372@keyframes pulse-dot { 4373 0% { 4374 transform: scale(.8); 4375 opacity: 0.5; 4376 } 4377 50% { 4378 transform: scale(1); 4379 opacity: 0.9; 4380 } 4381 100% { 4382 transform: scale(.8); 4383 opacity: 0.5; 4384 } 4385} 4386 4387@keyframes pulse-ring-outer { 4388 0% { 4389 transform: scale(.7); 4390 opacity: 0.3; 4391 } 4392 40% { 4393 opacity: 0.5; 4394 } 4395 100% { 4396 transform: scale(1.2); 4397 opacity: 0; 4398 } 4399} 4400 4401.breaking-news-header[data-effect="neon"] { 4402 text-shadow: 0 0 5px #ffffff, 4403 0 0 10px #ffffff, 4404 0 0 20px #ffffff; 4405 animation: neonPulse-widget_6abc2888b5ae9 2s infinite; 4406} 4407 4408.breaking-news-header[data-effect="glitch"] { 4409 animation: glitchText-widget_6abc2888b5ae9 3s infinite; 4410} 4411 4412.breaking-news-header[data-effect="burning"] { 4413 animation: burningText-widget_6abc2888b5ae9 2s infinite; 4414} 4415 4416.breaking-news-header[data-effect="matrix"] { 4417 animation: matrixEffect-widget_6abc2888b5ae9 3s infinite; 4418} 4419 4420.breaking-news-header[data-effect="cyber"] { 4421 animation: cyberEffect-widget_6abc2888b5ae9 4s infinite; 4422} 4423 4424.breaking-news-content { 4425 flex: 1; 4426 height: 100%; 4427 position: relative; 4428 padding: 0 15px; 4429 overflow: hidden; 4430} 4431 4432.breaking-news-slider { 4433 height: 100%; 4434 position: relative; 4435} 4436 4437.breaking-news-item { 4438 position: absolute; 4439 width: 100%; 4440 height: 100%; 4441 display: flex; 4442 align-items: center; 4443 opacity: 0; 4444 visibility: hidden; 4445 transition-duration: 4000ms; 4446 transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); 4447 transition: all 0.5s ease;} 4448 4449.breaking-news-link { 4450 display: flex; 4451 align-items: center; 4452 gap: 15px; 4453 color: #ffffff; 4454 font-size: 14px; 4455 font-weight: 500; 4456 text-decoration: none; 4457 width: 100%; 4458 transition: all 0.3s ease; 4459} 4460 4461.breaking-news-link:hover { 4462 color: #f1f1f1; 4463} 4464 4465.news-category { 4466 background: #ffa200; 4467 color: #ffffff; 4468 padding: 3px 8px; 4469 border-radius: 3px; 4470 font-size: 0.85em; 4471 font-weight: 500; 4472 display: inline-block; 4473} 4474 4475.news-title { 4476 flex: 1; 4477 overflow: hidden; 4478 text-overflow: ellipsis; 4479} 4480 4481.breaking-news-widget_6abc2888b5ae9 .news-time { 4482 font-size: 0.85em; 4483 color: #ffa200 !important; 4484 opacity: 0.8; 4485 display: inline-block; 4486} 4487 4488.breaking-news-widget_6abc2888b5ae9 .breaking-news-slider { 4489 height: 100%; 4490 position: relative; 4491} 4492 4493.breaking-news-widget_6abc2888b5ae9 .breaking-news-item { 4494 position: absolute; 4495 width: 100%; 4496 height: 100%; 4497 display: flex; 4498 align-items: center; 4499 opacity: 0; 4500 visibility: hidden; 4501 transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); 4502} 4503 4504.breaking-news-widget_6abc2888b5ae9 .breaking-news-item.active { 4505 opacity: 1 !important; 4506 visibility: visible !important; 4507 transform: translateX(0) !important; 4508 position: relative !important; 4509} 4510 4511.breaking-news-widget_6abc2888b5ae9 .breaking-news-link { 4512 display: flex; 4513 align-items: center; 4514 gap: 15px; 4515 color: #ffffff !important; 4516 font-size: 14px; 4517 font-weight: 500; 4518 text-decoration: none; 4519 width: 100%; 4520 transition: all 0.3s ease; 4521} 4522 4523.breaking-news-widget_6abc2888b5ae9 .breaking-news-link:hover { 4524 color: #f1f1f1 !important; 4525} 4526 4527.breaking-news-widget_6abc2888b5ae9 .news-title { 4528 color: inherit !important; 4529 flex: 1; 4530 white-space: nowrap; 4531 overflow: hidden; 4532 text-overflow: ellipsis; 4533} 4534</style> 4535<style> 4536@keyframes neonPulse-widget_6abc2888b5ae9 { 4537 0% { 4538 text-shadow: 0 0 5px #ffffff, 4539 0 0 10px #ffffff, 4540 0 0 20px #ffffff; 4541 } 4542 50% { 4543 text-shadow: 0 0 10px #ffffff, 4544 0 0 20px #ffffff, 4545 0 0 30px #ffffff, 4546 0 0 40px #ffffff; 4547 } 4548 100% { 4549 text-shadow: 0 0 5px #ffffff, 4550 0 0 10px #ffffff, 4551 0 0 20px #ffffff; 4552 } 4553} 4554 4555@keyframes glitchText-widget_6abc2888b5ae9 { 4556 0% { transform: none; opacity: 1; } 4557 7% { transform: skew(-0.5deg, -0.9deg);
4557 opacity: 0.75; } 4558 10% { transform: none; opacity: 1; } 4559 27% { transform: none; opacity: 1; } 4560 30% { transform: skew(0.8deg, -0.1deg); opacity: 0.75; } 4561 35% { transform: none; opacity: 1; } 4562 52% { transform: none; opacity: 1; } 4563 55% { transform: skew(-1deg, 0.2deg); opacity: 0.75; } 4564 50% { transform: none; opacity: 1; } 4565 72% { transform: none; opacity: 1; } 4566 75% { transform: skew(0.4deg, 1deg); opacity: 0.75; } 4567 80% { transform: none; opacity: 1; } 4568 100% { transform: none; opacity: 1; } 4569} 4570 4571@keyframes burningText-widget_6abc2888b5ae9 { 4572 0% { 4573 text-shadow: 0 0 4px #fff, 4574 0 -5px 4px #ff3, 4575 2px -10px 6px #fd3, 4576 -2px -15px 11px #f80, 4577 2px -25px 18px #f20; 4578 } 4579 50% { 4580 text-shadow: 0 0 4px #fff, 4581 0 -7px 4px #ff3, 4582 2px -12px 6px #fd3, 4583 -2px -20px 11px #f80, 4584 2px -30px 18px #f20; 4585 } 4586 100% { 4587 text-shadow: 0 0 4px #fff, 4588 0 -5px 4px #ff3, 4589 2px -10px 6px #fd3, 4590 -2px -15px 11px #f80, 4591 2px -25px 18px #f20; 4592 } 4593} 4594 4595@keyframes matrixEffect-widget_6abc2888b5ae9 { 4596 0% { color: #0f0; text-shadow: 0 0 5px #0f0; } 4597 30% { color: #0f0; text-shadow: 0 0 10px #0f0; } 4598 31% { color: transparent; text-shadow: none; } 4599 32% { color: #0f0; text-shadow: 0 0 5px #0f0; } 4600 36% { color: transparent; text-shadow: none; } 4601 37% { color: #0f0; text-shadow: 0 0 5px #0f0; } 4602 100% { color: #0f0; text-shadow: 0 0 5px #0f0; } 4603} 4604 4605@keyframes cyberEffect-widget_6abc2888b5ae9 { 4606 0% { 4607 clip-path: inset(0 0 0 0); 4608 transform: none; 4609 text-shadow: none; 4610 } 4611 20% { 4612 clip-path: inset(10% 0 0 0); 4613 transform: skew(2deg); 4614 text-shadow: 2px 2px #ff0080; 4615 } 4616 40% { 4617 clip-path: inset(0 10% 0 0); 4618 transform: skew(-2deg); 4619 text-shadow: -2px -2px #00ff80; 4620 } 4621 60% { 4622 clip-path: inset(0 0 10% 0); 4623 transform: skew(2deg); 4624 text-shadow: 2px -2px #0080ff; 4625 } 4626 80% { 4627 clip-path: inset(0 0 0 10%); 4628 transform: skew(-2deg); 4629 text-shadow: -2px 2px #8000ff; 4630 } 4631 100% { 4632 clip-path: inset(0 0 0 0); 4633 transform: none; 4634 text-shadow: none; 4635 } 4636} 4637 4638.breaking-news-nav { 4639 display: flex; 4640 gap: 5px; 4641 align-items: center; 4642 margin-left: auto; 4643 padding-left: 5px; 4644} 4645 4646.breaking-news-prev, 4647.breaking-news-next { 4648 width: 32px; 4649 height: 32px; 4650 border: none; 4651 background: rgba(255,255,255,0.1); 4652 cursor: pointer; 4653 position: relative; 4654 border-radius: 4px; 4655 transition: all 0.3s ease; 4656 display: flex; 4657 align-items: center; 4658 padding-left: 10px; 4659} 4660 4661.breaking-news-progress { 4662 width: 40px; 4663 height: 2px; 4664 background: rgba(255,255,255,0.1); 4665 position: relative; 4666 border-radius: 1px; 4667 overflow: hidden; 4668} 4669 4670.progress-bar { 4671 position: absolute; 4672 left: 0; 4673 top: 0; 4674 height: 100%; 4675 background: #ff0000; 4676 width: 0; 4677 transition: width 0.3s linear; 4678} 4679 4680.arrow-icon { 4681 color: #ffffff; 4682} 4683 4684.arrow-icon:hover { 4685 color: #ff0000; 4686} 4687 4688[data-style="modern"] .arrow-icon { 4689 width: 10px; 4690 height: 10px; 4691 border: 2px solid #ffffff; 4692 border-left: 0; 4693 border-bottom: 0; 4694 transition: all 0.3s ease; 4695} 4696 4697[data-style="modern"] .breaking-news-prev .arrow-icon { 4698 transform: rotate(-135deg); 4699} 4700 4701[data-style="modern"] .breaking-news-next .arrow-icon { 4702 transform: rotate(45deg); 4703} 4704 4705[data-style="pulse"] .arrow-icon { 4706 width: 12px; 4707 height: 12px; 4708 background: #ffffff; 4709 clip-path: polygon(40% 0%, 40% 20%, 100% 20%, 100% 80%, 40% 80%, 40% 100%, 0% 50%); 4710 animation: arrowPulse-widget_6abc2888b5ae9 1.5s infinite; 4711} 4712 4713[data-style="cyber"] .arrow-icon { 4714 width: 14px; 4715 height: 14px; 4716 border: 2px solid #ffffff; 4717 border-radius: 2px; 4718 position: relative; 4719} 4720 4721[data-style="cyber"] .arrow-icon:before { 4722 content: ''; 4723 position: absolute; 4724 width: 8px; 4725 height: 8px; 4726 border-right: 2px solid #ffffff; 4727 border-bottom: 2px solid #ffffff; 4728 top: 50%; 4729 left: 50%; 4730} 4731 4732[data-style="cyber"] .breaking-news-prev .arrow-icon:before { 4733 transform: translate(-25%, -50%) rotate(135deg); 4734} 4735 4736[data-style="cyber"] .breaking-news-next .arrow-icon:before { 4737 transform: translate(-75%, -50%) rotate(-45deg); 4738} 4739 4740[data-style="neon"] .arrow-icon { 4741 width: 10px; 4742 height: 10px; 4743 border: 2px solid #ffffff; 4744 border-left: 0; 4745 border-bottom: 0; 4746 box-shadow: 0 0 5px #ffffff, 4747 0 0 10px #ffffff; 4748 margin: 0 5px 9px; 4749} 4750 4751[data-style="neon"] .breaking-news-prev .arrow-icon { 4752 transform: rotate(-135deg); 4753} 4754 4755[data-style="neon"] .breaking-news-next .arrow-icon { 4756 transform: rotate(45deg); 4757} 4758 4759[data-style="minimal"] .arrow-icon {
4760 width: 20px; 4761 height: 2px; 4762 background: #ffffff; 4763 position: relative; 4764} 4765 4766[data-style="minimal"] .arrow-icon:before, 4767[data-style="minimal"] .arrow-icon:after { 4768 content: ''; 4769 position: absolute; 4770 width: 10px; 4771 height: 2px; 4772 background: inherit; 4773} 4774 4775[data-style="minimal"] .breaking-news-prev .arrow-icon:before { 4776 transform: rotate(45deg); 4777 left: 0; 4778 top: -3px; 4779} 4780 4781[data-style="minimal"] .breaking-news-prev .arrow-icon:after { 4782 transform: rotate(-45deg); 4783 left: 0; 4784 top: 3px; 4785} 4786 4787[data-style="minimal"] .breaking-news-next .arrow-icon:before { 4788 transform: rotate(-45deg); 4789 right: 0; 4790 top: -3px; 4791} 4792 4793[data-style="minimal"] .breaking-news-next .arrow-icon:after { 4794 transform: rotate(45deg); 4795 right: 0; 4796 top: 3px; 4797} 4798 4799[data-style="3d"] .arrow-icon { 4800 width: 12px; 4801 height: 12px; 4802 border: 2px solid #ffffff; 4803 border-left: 0; 4804 border-bottom: 0; 4805 position: absolute; 4806 transform-style: preserve-3d; 4807 perspective: 1000px; 4808 transition: all 0.3s ease; 4809} 4810 4811[data-style="3d"] .breaking-news-prev .arrow-icon { 4812 transform: translate(-25%, -50%) rotate(-135deg) translateZ(5px); 4813 box-shadow: -3px -3px 5px rgba(0,0,0,0.2); 4814} 4815 4816[data-style="3d"] .breaking-news-next .arrow-icon { 4817 transform: translate(-75%, -50%) rotate(45deg) translateZ(5px); 4818 box-shadow: 3px 3px 5px rgba(0,0,0,0.2); 4819} 4820 4821[data-style="3d"] .arrow-icon:before { 4822 content: ''; 4823 position: absolute; 4824 width: 100%; 4825 height: 100%; 4826 background: #ffffff; 4827 opacity: 0.3; 4828 transform: translateZ(-3px); 4829} 4830 4831[data-style="hologram"] .arrow-icon { 4832 width: 14px; 4833 height: 14px; 4834 border: 2px solid #ffffff; 4835 border-left: 0; 4836 border-bottom: 0; 4837 position: absolute; 4838 animation: hologramGlow 2s infinite; 4839 margin-top: 12px; 4840} 4841 4842[data-style="hologram"] .breaking-news-prev .arrow-icon { 4843 transform: translate(-25%, -50%) rotate(-135deg); 4844} 4845 4846[data-style="hologram"] .breaking-news-next .arrow-icon { 4847 transform: translate(-7%, -50%) rotate(45deg); 4848} 4849 4850[data-style="hologram"] .arrow-icon:before { 4851 content: ''; 4852 position: absolute; 4853 top: -5px; 4854 left: -5px; 4855 right: -5px; 4856 bottom: -5px; 4857 border: 1px solid #ffffff; 4858 opacity: 0.5; 4859 animation: hologramScan 2s linear infinite; 4860} 4861 4862@keyframes hologramGlow { 4863 0% { opacity: 0.7; } 4864 50% { opacity: 1; box-shadow: 0 0 10px #ffffff; } 4865 100% { opacity: 0.7; } 4866} 4867 4868@keyframes hologramScan { 4869 0% { clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); } 4870 50% { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); } 4871 100% { clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%); } 4872} 4873 4874[data-style="sci-fi"] .arrow-icon { 4875 width: 16px; 4876 height: 16px; 4877 position: absolute; 4878 clip-path: polygon(0 0, 100% 0, 100% 70%, 70% 100%, 0 100%); 4879 background: #ffffff; 4880 transition: all 0.3s ease; 4881 animation: sciFiPulse 2s infinite; 4882} 4883 4884[data-style="sci-fi"] .breaking-news-prev .arrow-icon { 4885 transform: translate(-25%, -50%) rotate(180deg); 4886} 4887 4888[data-style="sci-fi"] .breaking-news-next .arrow-icon { 4889 transform: translate(-7%, -50%); 4890} 4891 4892[data-style="sci-fi"] .arrow-icon:before { 4893 content: ''; 4894 position: absolute; 4895 inset: 2px; 4896 background: #ff0000; 4897 clip-path: polygon(0 0, 90% 0, 90% 70%, 60% 90%, 0 90%); 4898} 4899 4900[data-style="sci-fi"] .arrow-icon:after { 4901 content: ''; 4902 position: absolute; 4903 inset: 0; 4904 background: linear-gradient(45deg, 4905 transparent 40%, 4906 #ffffff 45%, 4907 transparent 50% 4908 ); 4909 animation: sciFiScan 2s infinite; 4910} 4911 4912@keyframes sciFiPulse { 4913 0% { box-shadow: 0 0 5px #ffffff; } 4914 50% { box-shadow: 0 0 15px #ffffff; } 4915 100% { box-shadow: 0 0 5px #ffffff; } 4916} 4917 4918@keyframes sciFiScan { 4919 0% { opacity: 0; transform: translateY(-100%); } 4920 50% { opacity: 0.5; } 4921 100% { opacity: 0; transform: translateY(100%); } 4922} 4923 4924[data-style="3d"] .breaking-news-prev:hover .arrow-icon, 4925[data-style="3d"] .breaking-news-next:hover .arrow-icon { 4926 transform: translate(-50%, -50%) rotate(0deg) translateZ(10px); 4927 border-color: #ff0000; 4928} 4929 4930[data-style="hologram"] .breaking-news-prev:hover .arrow-icon, 4931[data-style="hologram"] .breaking-news-next:hover .arrow-icon { 4932 border-color: #ff0000; 4933 box-shadow: 0 0 20px #ff0000; 4934} 4935 4936[data-style="sci-fi"] .breaking-news-prev:hover .arrow-icon, 4937[data-style="sci-fi"] .breaking-news-next:hover .arrow-icon { 4938 background: #ff0000; 4939 transform: scale(1.1); 4940} 4941 4942.breaking-news-prev:hover, 4943.breaking-news-next:hover { 4944 background: rgba(255,255,255,0.2); 4945 transform: scale(1.1); 4946} 4947 4948@media (max-width: 768px) { 4949 .breaking-title-container { 4950 padding: 0 0; 4951 margin-right: 5px; 4952 } 4953
4954 .breaking-news-header { 4955 font-size: calc(15px - 2px); 4956 padding: 6px 5px; 4957 } 4958 4959 .news-category { 4960 display: none; 4961 } 4962 4963 .breaking-news-nav { 4964 padding-left: 10px; 4965 gap: 10px; 4966 } 4967 4968 .news-time { 4969 display: none !important; 4970 } 4971 4972 .breaking-news-prev, 4973 .breaking-news-next { 4974 width: 28px; 4975 height: 28px; 4976 } 4977} 4978 4979 4980@media (max-width: 768px) { 4981 .breaking-title-container { 4982 padding: 0 1px; 4983 margin-right: 1px; 4984 } 4985 .breaking-news-nav, 4986 .news-category, 4987 .news-time, 4988 .news-time { 4989 display: none; 4990 } 4991 .news-title { 4992 max-width: 100%; 4993 padding-right: 5px; 4994} 4995} 4996.breaking-clock-icon { 4997 display: none; 4998 color: inherit; 4999 animation: pulse-clock 2s infinite; 5000 width: 20px; 5001 height: 20px; 5002 position: relative; 5003 overflow: hidden; 5004 max-width: 24px !important; 5005 max-height: 24px !important; 5006} 5007 5008 5009@keyframes pulse-clock { 5010 0% { transform: scale(1); } 5011 50% { transform: scale(1.1); } 5012 100% { transform: scale(1); } 5013} 5014 5015@media (max-width: 768px) { 5016 .breaking-text, 5017 .breaking-icon { 5018 display: none !important; 5019 } 5020 5021 .breaking-clock-icon { 5022 display: flex !important; 5023 align-items: center; 5024 justify-content: center; 5025 width: 24px !important; 5026 height: 24px !important; 5027 margin: 0 !important; 5028 padding: 0 !important; 5029 } 5030 5031 .breaking-title-container { 5032 display: flex; 5033 align-items: center; 5034 justify-content: center; 5035 padding: 0 0 !important; 5036 margin: 0 0 !important; 5037 min-width: 20px; 5038 } 5039 5040 .breaking-news-inner { 5041 padding: 0 5px; 5042 } 5043 5044 .breaking-news-header { 5045 display: flex; 5046 align-items: center; 5047 justify-content: center; 5048 padding: 0 !important; 5049 margin: 0 !important; 5050 } 5051 5052 .breaking-title-wrapper { 5053 display: flex; 5054 align-items: center; 5055 justify-content: center; 5056 } 5057 5058 .breaking-clock-icon svg { 5059 width: 20px; 5060 height: 20px; 5061 fill: currentColor; 5062 animation: pulse-clock 1.5s infinite; 5063 max-width: 20px !important; 5064 max-height: 20px !important; 5065 } 5066 5067 @keyframes pulse-clock { 5068 0% { transform: scale(1); } 5069 50% { transform: scale(1.1); } 5070 100% { transform: scale(1); } 5071 } 5072 5073 .breaking-title-container { 5074 padding: 0; 5075 margin-right: 5px; 5076 min-width: 20px; 5077 } 5078 5079 .breaking-news-header { 5080 padding: 1px 5px !important; 5081 justify-content: center; 5082 } 5083} 5084.breaking-news-widget_6abc2888b5ae9 .breaking-clock-icon svg { 5085 width: 20px !important; 5086 height: 20px !important; 5087 max-width: 20px !important; 5088 max-height: 20px !important; 5089 overflow: hidden; 5090} 5091</style> 5092<div class="breaking-news-widget_6abc2888b5ae9" data-widget-id="widget_6abc2888b5ae9"> 5093 <div class="breaking-news-inner"> 5094 <div class="breaking-title-container"> 5095 <div class="breaking-title-wrapper"> 5096 <a target="_blank" title="Son Dakika Haberlerine, Tıkla Bak." href="/son-dakika-haberleri"> 5097 <h4 class="breaking-news-header" data-effect="neon"> 5098 <i class="breaking-clock-icon" aria-hidden="true"> 5099 <svg width="24" height="24" viewBox="0 0 24 24" style="max-width:24px; max-height:24px;"> 5100 <path d="M12 6v6l4 2m-4-14a10 10 0 100 20 10 10 0 000-20z" stroke="currentColor" fill="none" stroke-width="2" stroke-linecap="round"/> 5101 </svg> 5102 </i> 5103 <span class="breaking-text">SON DAKİKA</span> 5104 <span class="breaking-icon"></span> 5105 </h4> 5106 </a> 5107 </div> 5108 </div> 5109 5110 <div class="breaking-news-content"> 5111 <div class="breaking-news-slider js-breaking-news-slider"> 5112 <div class="breaking-news-item active initial-item" 5113 data-index="0"> 5114 <a title="Hot Chipsâte Jalapeño tanıtımı: 2026 sonu küçük hacim, 2027 ölçek" href="/teknoloji/hot-chipste-jalapeo-tanitimi-2026-sonu-kucuk-hacim-2027-olcek/107930" 5115 class="breaking-news-link">
5116 <span class="news-category">Teknoloji</span> 5117 <span class="news-title">Hot Chipsâte Jalapeño tanıtımı: 2026 sonu küçük hacim, 2027 ölçek</span> 5118 <span class="news-time" data-time="2026-08-25 19:21:20"></span> 5119 </a> 5120 </div> 5121 <div class="breaking-news-item" 5122 data-index="1"> 5123 <a title="Pacific Fusionâın 2030 hedefi: ânet facility gainâ için Albuquerque tesisine start" href="/teknoloji/pacific-fusionin-2030-hedefi-net-facility-gain-icin-albuquerque-tesisine-start/107929" 5124 class="breaking-news-link"> 5125 <span class="news-category">Teknoloji</span> 5126 <span class="news-title">Pacific Fusionâın 2030 hedefi: ânet facility gainâ için Albuquerque tesisine start</span> 5127 <span class="news-time" data-time="2026-08-25 19:19:20"></span> 5128 </a> 5129 </div> 5130 <div class="breaking-news-item" 5131 data-index="2"> 5132 <a title="DDR4 RAM fiyatları 1 ayda %19 arttı, DDR5âi geçti" href="/teknoloji/ddr4-ram-fiyatlari-1-ayda-19-artti-ddr5-i-gecti/107928" 5133 class="breaking-news-link"> 5134 <span class="news-category">Teknoloji</span> 5135 <span class="news-title">DDR4 RAM fiyatları 1 ayda %19 arttı, DDR5âi geçti</span> 5136 <span class="news-time" data-time="2026-07-10 16:52:10"></span> 5137 </a> 5138 </div> 5139 <div class="breaking-news-item" 5140 data-index="3"> 5141 <a title="Seattle merkezli Neuralwatt, yapay zekanın karbon emisyonunu gerçek zamanlı ölçen ilk aracı geliÅtirdi" href="/teknoloji/seattle-merkezli-neuralwatt-yapay-zekanin-karbon-emisyonunu-gercek-zamanli-olcen-ilk-araci-gelistirdi/107927" 5142 class="breaking-news-link"> 5143 <span class="news-category">Teknoloji</span> 5144 <span class="news-title">Seattle merkezli Neuralwatt, yapay zekanın karbon emisyonunu gerçek zamanlı ölçen ilk aracı geliÅtirdi</span> 5145 <span class="news-time" data-time="2026-07-02 19:00:50"></span> 5146 </a> 5147 </div> 5148 <div class="breaking-news-item" 5149 data-index="4"> 5150 <a title="Amazonâun AI Birimi 10 Bin Kullanıcıya UlaÅan Amazon Quick ile Küçük Takımlarla Hızlanıyor" href="/teknoloji/amazon-un-ai-birimi-10-bin-kullaniciya-ulasan-amazon-quick-ile-kucuk-takimlarla-hizlaniyor/107926" 5151 class="breaking-news-link"> 5152 <span class="news-category">Teknoloji</span> 5153 <span class="news-title">Amazonâun AI Birimi 10 Bin Kullanıcıya UlaÅan Amazon Quick ile Küçük Takımlarla Hızlanıyor</span> 5154 <span class="news-time" data-time="2026-07-02 17:38:10"></span> 5155 </a> 5156 </div> 5157 <div class="breaking-news-item" 5158 data-index="5"> 5159 <a title="Helion Energy, Washingtonâda 50 MW kapasiteli füzyon tesisi için lisans aldı" href="/teknoloji/helion-energy-washington-da-50-mw-kapasiteli-fuzyon-tesisi-icin-lisans-aldi/107925" 5160 class="breaking-news-link">
5161 <span class="news-category">Teknoloji</span> 5162 <span class="news-title">Helion Energy, Washingtonâda 50 MW kapasiteli füzyon tesisi için lisans aldı</span> 5163 <span class="news-time" data-time="2026-07-02 15:56:38"></span> 5164 </a> 5165 </div> 5166 <div class="breaking-news-item" 5167 data-index="6"> 5168 <a title="SpaceXâin 75 Milyar Dolarlık Halka Arzı Sonrası Piyasa DeÄeri 2,94 Trilyon Dolara UlaÅtı" href="/teknoloji/spacex-in-75-milyar-dolarlik-halka-arzi-sonrasi-piyasa-degeri-2-94-trilyon-dolara-ulasti/107924" 5169 class="breaking-news-link"> 5170 <span class="news-category">Teknoloji</span> 5171 <span class="news-title">SpaceXâin 75 Milyar Dolarlık Halka Arzı Sonrası Piyasa DeÄeri 2,94 Trilyon Dolara UlaÅtı</span> 5172 <span class="news-time" data-time="2026-07-01 19:03:15"></span> 5173 </a> 5174 </div> 5175 <div class="breaking-news-item" 5176 data-index="7"> 5177 <a title="TerraPower, BirleÅik Krallıkâta yeni ofis açarak uluslararası nükleer santral hedefini baÅlattı" href="/teknoloji/terrapower-birlesik-krallik-ta-yeni-ofis-acarak-uluslararasi-nukleer-santral-hedefini-baslatti/107923" 5178 class="breaking-news-link"> 5179 <span class="news-category">Teknoloji</span> 5180 <span class="news-title">TerraPower, BirleÅik Krallıkâta yeni ofis açarak uluslararası nükleer santral hedefini baÅlattı</span> 5181 <span class="news-time" data-time="2026-07-01 10:24:15"></span> 5182 </a> 5183 </div> 5184 <div class="breaking-news-item" 5185 data-index="8"> 5186 <a title="Seattleâda 400 dronla ilk FIFA Dünya Kupası skorbord gösterisi yapıldı" href="/teknoloji/seattle-da-400-dronla-ilk-fifa-dunya-kupasi-skorbord-gosterisi-yapildi/107922" 5187 class="breaking-news-link"> 5188 <span class="news-category">Teknoloji</span> 5189 <span class="news-title">Seattleâda 400 dronla ilk FIFA Dünya Kupası skorbord gösterisi yapıldı</span> 5190 <span class="news-time" data-time="2026-06-29 16:34:41"></span> 5191 </a> 5192 </div> 5193 <div class="breaking-news-item" 5194 data-index="9"> 5195 <a title="Robbie Cape, Pioneer Square Labs desteÄiyle sigorta sektöründe The Instrumentâı kurdu" href="/teknoloji/robbie-cape-pioneer-square-labs-destegiyle-sigorta-sektorunde-the-instrument-i-kurdu/107921" 5196 class="breaking-news-link"> 5197 <span class="news-category">Teknoloji</span> 5198 <span class="news-title">Robbie Cape, Pioneer Square Labs desteÄiyle sigorta sektöründe The Instrumentâı kurdu</span> 5199 <span class="news-time" data-time="2026-06-29 16:23:37"></span> 5200 </a> 5201 </div> 5202 </div> 5203 </div> 5204 5205 <div class="breaking-news-nav" data-style="hologram"> 5206 <button class="breaking-news-prev js-prev" aria-label="Ãnceki">
5207 <span class="arrow-icon"></span> 5208 </button> 5209 <div class="breaking-news-progress"> 5210 <div class="progress-bar"></div> 5211 </div> 5212 <button class="breaking-news-next js-next" aria-label="Sonraki"> 5213 <span class="arrow-icon"></span> 5214 </button> 5215 </div> 5216 </div> 5217</div> 5218 5219
5220<script> 5221document.addEventListener('DOMContentLoaded', function() { 5222 // Ayarları JS'e aktar 5223 const settings = { 5224 autoPlay: true, 5225 scrollSpeed: 4000, 5226 enableTouch: true, 5227 pauseOnHover: true, 5228 slideEffect: 'slide' 5229 }; 5230 5231 const widgetId = 'widget_6abc2888b5ae9'; 5232 const widget = document.querySelector(`.breaking-news-${widgetId}`); 5233 if (!widget) return; 5234 5235 const items = widget.querySelectorAll('.breaking-news-item'); 5236 const prevBtn = widget.querySelector('.js-prev'); 5237 const nextBtn = widget.querySelector('.js-next'); 5238 const progressBar = widget.querySelector('.progress-bar'); 5239 5240 let currentIndex = 0; 5241 let interval = null; 5242 let progressInterval = null; 5243 let timeUpdateInterval = null; 5244 const duration = settings.scrollSpeed; 5245 let progress = 0; 5246 5247 // İlk item'ı göster 5248 function initializeWidget() { 5249 if (items.length > 0) { 5250 const firstItem = items[0]; 5251 firstItem.style.visibility = 'visible'; 5252 firstItem.style.opacity = '1'; 5253 firstItem.style.transform = 'translateX(0)'; 5254 firstItem.classList.add('active'); 5255 updateTimes(); // Zamanları güncelle 5256 startAutoPlay(); // Otomatik oynatmayı baÅlat 5257 } 5258 } 5259 5260 function updateProgress() { 5261 progress = 0; 5262 if (progressInterval) clearInterval(progressInterval); 5263 5264 progressInterval = setInterval(() => { 5265 progress += (100 * 100 / duration); // 100ms intervallerle güncelleme 5266 if (progress >= 100) { 5267 progress = 100; 5268 clearInterval(progressInterval); 5269 } 5270 progressBar.style.width = `${progress}%`; 5271 }, 100); 5272 } 5273 5274 function showItem(index, direction = 'next') { 5275 const currentItem = items[currentIndex]; 5276 const nextItem = items[index]; 5277 5278 // GeçiÅ efekti için sınıfları ekle 5279 currentItem.style.transform = 'translateX(0)'; 5280 nextItem.style.transform = `translateX(${direction === 'next' ? '100%' : '-100%'})`; 5281 nextItem.style.visibility = 'visible'; 5282 nextItem.style.opacity = '0'; 5283 5284 // GeçiÅ animasyonunu baÅlat 5285 setTimeout(() => { 5286 currentItem.style.transform = `translateX(${direction === 'next' ? '-100%' : '100%'})`; 5287 currentItem.style.opacity = '0'; 5288 nextItem.style.transform = 'translateX(0)'; 5289 nextItem.style.opacity = '1'; 5290 5291 // Aktif sınıfları güncelle 5292 currentItem.classList.remove('active'); 5293 nextItem.classList.add('active'); 5294 5295 // Progress barı sıfırla ve yeniden baÅlat 5296 updateProgress(); 5297 }, 50); 5298 5299 currentIndex = index; 5300 } 5301 5302 function nextSlide() { 5303 const nextIndex = (currentIndex + 1) % items.length; 5304 showItem(nextIndex, 'next'); 5305 } 5306 5307 function prevSlide() { 5308 const prevIndex = (currentIndex - 1 + items.length) % items.length; 5309 showItem(prevIndex, 'prev'); 5310 } 5311 5312 function startAutoPlay() { 5313 if (interval) clearInterval(interval); 5314 if (true) { 5315 interval = setInterval(nextSlide, duration); 5316 updateProgress(); 5317 } 5318 } 5319 5320 // Zaman damgalarını güncelle 5321 function updateTimes() { 5322 const timeElements = widget.querySelectorAll('.news-time'); 5323 timeElements.forEach(el => { 5324 const timestamp = new Date(el.dataset.time); 5325 const now = new Date(); 5326 const diff = Math.floor((now - timestamp) / 1000); 5327 5328 let timeText = ''; 5329 if (diff < 60) timeText = `${diff} saniye önce`; 5330 else if (diff < 3600) timeText = `${Math.floor(diff / 60)} dakika önce`; 5331 else if (diff < 86400) timeText = `${Math.floor(diff / 3600)} saat önce`; 5332 else timeText = `${Math.floor(diff / 86400)} gün önce`; 5333 5334 el.textContent = timeText; 5335 }); 5336 } 5337 5338 // Event listeners 5339 prevBtn?.addEventListener('click', () => { 5340 prevSlide(); 5341 startAutoPlay(); 5342 }); 5343 5344 nextBtn?.addEventListener('click', () => { 5345 nextSlide(); 5346 startAutoPlay(); 5347 }); 5348 5349 widget.addEventListener('mouseenter', () => { 5350 if (interval) clearInterval(interval); 5351 if (progressInterval) clearInterval(progressInterval); 5352 }); 5353 5354 widget.addEventListener('mouseleave', startAutoPlay); 5355 5356 // Touch desteÄi 5357 let touchStartX = 0; 5358 let touchEndX = 0; 5359 5360 widget.addEventListener('touchstart', e => { 5361 touchStartX = e.changedTouches[0].screenX; 5362 }); 5363 5364 widget.addEventListener('touchend', e => { 5365 touchEndX = e.changedTouches[0].screenX; 5366 if (touchStartX - touchEndX > 50) { 5367 nextSlide(); 5368 } else if (touchEndX - touchStartX > 50) { 5369 prevSlide(); 5370 } 5371 }); 5372 5373 // BaÅlangıç 5374 if (items.length > 0) { 5375 items[0].classList.add('active'); 5376 startAutoPlay(); 5377 updateTimes(); 5378 timeUpdateInterval = setInterval(updateTimes, 60000); // Her dakika zaman damgalarını güncelle 5379 } 5380 5381 /* PIL/CPU TASARRUFU â GORUNMEYEN BANT CALISMASIN. 5382 Bu widget genelde header'in hemen altinda SABIT durur; sayfa kaydirildiginda 5383 ekrandan cikabilir veya sekme arka plana alinabilir. Onceden UC zamanlayici 5384 (slayt gecisi, ilerleme cubugu, dakikalik zaman guncellemesi) bu durumlarda 5385 bile CALISMAYA DEVAM ediyordu. Artik sekme gizlenince / bant ekrandan 5386 cikinca hepsi duruyor, geri gelince devam ediyor â hiz/davranis/gorunum 5387 DEGISMIYOR, sadece gereksiz yere calismasi engelleniyor. */ 5388 var __bnGorunurlukDurdur = function () { 5389 if (interval) { clearInterval(interval); } 5390 if (progressInterval) { clearInterval(progressInterval); } 5391 if (timeUpdateInterval) { clearInterval(timeUpdateInterval); timeUpdateInterval = null; } 5392 }; 5393 var __bnGorunurlukBaslat = function () { 5394 startAutoPlay(); 5395 if (!timeUpdateInterval) { timeUpdateInterval = setInterval(updateTimes, 60000); } 5396 }; 5397 document.addEventListener('visibilitychange', function () { 5398 if (document.hidden) { __bnGorunurlukDurdur(); } else { __bnGorunurlukBaslat(); } 5399 }); 5400 if ('IntersectionObserver' in window) { 5401 try { 5402 new IntersectionObserver(function (girdiler) { 5403 girdiler.forEach(function (g) { 5404 if (g.isIntersecting && !document.hidden) { __bnGorunurlukBaslat(); } 5405 else { __bnGorunurlukDurdur(); } 5406 }); 5407 }, { threshold: 0 }).observe(widget); 5408 } catch (e) { } 5409 } 5410}); 5411// Touch desteÄi ayarı kontrolü 5412if (true) { 5413 widget.addEventListener('touchstart', e => { 5414 touchStartX = e.changedTouches[0].screenX; 5415 }); 5416 5417 widget.addEventListener('touchend', e => { 5418 touchEndX = e.changedTouches[0].screenX; 5419 if (touchStartX - touchEndX > 50) { 5420 nextSlide(); 5421 } else if (touchEndX - touchStartX > 50) { 5422 prevSlide(); 5423 } 5424 }); 5425} 5426 5427// Fare üzerinde durma kontrolü 5428if (true) { 5429 widget.addEventListener('mouseenter', () => { 5430 if (interval) clearInterval(interval); 5431 if (progressInterval) clearInterval(progressInterval); 5432 }); 5433 5434 widget.addEventListener('mouseleave', startAutoPlay); 5435} 5436</script>
5436</div></div></div></div><div class="layout layout-ategori--istesi" data-layout-id="1633" data-template="Tam GeniÅlik"><div class="section col-md-12" data-section="0" style="width: calc(100% - 20px); flex: 12;"><div class="widget-container" data-widget-id="625" data-widget-type="category-news"><div class="widget-container" data-widget-id="widget_6abc2888b8656" data-widget-type="category-news"><style> 5437/* Ana container â DUZELTME: KATMANA TAM OTURMA 5438 Onceki "max-width: 1200px; margin: 0 auto;" widget'i kendi sabit 5439 sinirinda ortaliyordu; bulundugu kapsayici ne kadar genis olursa 5440 olsun disaridaki bosluk hep kaliyordu (site genisletme ozelligi 5441 acikken ozellikle belirgin). Sinir kaldirildi, box-sizing/overflow 5442 eklendi (mobilde tasma onlemi). */ 5443.news-grid-widget_6abc2888b8656 { 5444 width: 100%; 5445 max-width: 100%; 5446 box-sizing: border-box; 5447 overflow-x: hidden; 5448 padding: 0 15px; 5449 margin-top: 10px; 5450} 5451.news-grid-widget_6abc2888b8656 * { 5452 box-sizing: border-box; 5453} 5454 5455.news-grid-widget_6abc2888b8656 .news-grid-wrapper { 5456 display: grid; 5457 grid-template-columns: repeat(4, 1fr); 5458 gap: 20px; 5459 width: 100%; 5460 margin-bottom: 30px; 5461} 5462 5463.news-grid-widget_6abc2888b8656 .news-grid-card { 5464 background: #000000; 5465 border-radius: 8px; 5466 box-shadow: 0 2px 8px rgba(0,0,0,0.1); 5467 overflow: hidden; 5468 position: relative; 5469 height: 380px; 5470 transition: all 0.3s ease; 5471 display: flex; 5472 flex-direction: column; 5473} 5474 5475.news-grid-widget_6abc2888b8656 .news-grid-card:hover { 5476 transform: translateY(-5px); 5477 box-shadow: 0 5px 15px rgba(0,0,0,0.2); 5478} 5479 5480.news-grid-widget_6abc2888b8656 .news-grid-image-container { 5481 position: relative; 5482 width: 100%; 5483 height: 180px; 5484 overflow: hidden; 5485} 5486 5487.news-grid-widget_6abc2888b8656 .news-grid-image { 5488 width: 100%; 5489 height: 100%; 5490 object-fit: cover; 5491 transition: transform 0.3s ease; 5492} 5493 5494.news-grid-widget_6abc2888b8656 .news-grid-card a { 5495 text-decoration: none; 5496 color: inherit; 5497 display: block; 5498 height: 100%; 5499} 5500 5501.news-grid-widget_6abc2888b8656 .video-indicator { 5502 position: absolute; 5503 top: 10px; 5504 right: 10px; 5505 width: 32px; 5506 height: 32px; 5507 background: rgba(0,0,0,0.7); 5508 border-radius: 50%; 5509 display: flex; 5510 align-items: center; 5511 justify-content: center; 5512 z-index: 2; 5513} 5514 5515.news-grid-widget_6abc2888b8656 .video-indicator svg { 5516 width: 18px; 5517 height: 18px; 5518 color: #ffffff; 5519} 5520 5521.news-grid-widget_6abc2888b8656 .news-grid-category { 5522 position: absolute; 5523 padding: 4px 8px; 5524 background: #e74c3c; 5525 color: #ffffff; 5526 font-size: 12px; 5527 border-radius: 4px; 5528 z-index: 1; 5529} 5530 5531.news-grid-widget_6abc2888b8656 .category-top-left { top: 10px; left: 10px; } 5532.news-grid-widget_6abc2888b8656 .category-top-right { top: 10px; right: 10px; } 5533.news-grid-widget_6abc2888b8656 .category-bottom-left { bottom: 10px; left: 10px; } 5534.news-grid-widget_6abc2888b8656 .category-bottom-right { bottom: 10px; right: 10px; } 5535 5536.news-grid-widget_6abc2888b8656 .news-grid-content { 5537 padding: 15px; 5538 display: flex; 5539 flex-direction: column; 5540 height: calc(100% - 180px); 5541 } 5542 5543.news-grid-widget_6abc2888b8656 .news-grid-title { 5544 font-family: roboto, sans-serif; 5545 font-size: 18px; 5546 font-weight: bold; 5547 color: #ffffff; 5548 line-height: 1.4; 5549 margin: 0 0 10px 0; 5550 display: -webkit-box; 5551 -webkit-line-clamp: 2; 5552 -webkit-box-orient: vertical; 5553 overflow: hidden; 5554} 5555 5556.news-grid-widget_6abc2888b8656 .news-grid-excerpt { 5557 color: #666666; 5558 font-size: 14px; 5559 display: -webkit-box; 5560 -webkit-line-clamp: 3; 5561 -webkit-box-orient: vertical; 5562 overflow: hidden; 5563 margin: 0; 5564} 5565 5566.news-grid-widget_6abc2888b8656 .news-grid-date { 5567 color: #888888; 5568 font-size: 13px; 5569 margin-top: auto; 5570} 5571 5572.news-grid-widget_6abc2888b8656 .news-grid-card:hover { 5573 transform: translateY(-5px) scale(1.02); 5574} 5575.news-grid-widget_6abc2888b8656 .news-grid-card:hover .news-grid-image { 5576 transform: scale(1.1); 5577} 5578 5579.news-grid-widget_6abc2888b8656 .news-grid-card:hover .news-grid-title { 5580 color: #e74c3c; 5581} 5582 5583.news-grid-widget_6abc2888b8656 .category-pagination { 5584 display: flex; 5585 flex-wrap: wrap; 5586 justify-content: center;
5587 align-items: center; 5588 margin: 30px 0; 5589 gap: 8px; 5590} 5591 5592.news-grid-widget_6abc2888b8656 .page-link { 5593 display: inline-flex; 5594 align-items: center; 5595 justify-content: center; 5596 min-width: 40px; 5597 height: 40px; 5598 padding: 0 15px; 5599 background: #ffffff; 5600 color: #333333; 5601 border: 1px solid #dee2e6; 5602 border-radius: 4px; 5603 text-decoration: none; 5604 transition: all 0.3s ease; 5605 font-weight: 500; 5606 font-size: 14px; 5607} 5608 5609.news-grid-widget_6abc2888b8656 .page-link:hover { 5610 background: #f8f9fa; 5611 border-color: #f8f9fa; 5612 color: #333333; 5613 z-index: 2; 5614} 5615 5616.news-grid-widget_6abc2888b8656 .page-link.active { 5617 background: #ade740; 5618 color: #ffffff; 5619 border-color: #ade740; 5620 cursor: default; 5621 z-index: 3; 5622} 5623 5624.news-grid-widget_6abc2888b8656 .page-link.prev, 5625.news-grid-widget_6abc2888b8656 .page-link.next { 5626 padding: 0 15px; 5627 font-weight: normal; 5628} 5629 5630.news-grid-widget_6abc2888b8656 .pagination-info { 5631 width: 100%; 5632 text-align: center; 5633 margin: <br /> 5634<b>Warning</b>: Undefined array key "pagination" in <b>/var/www/vhosts/mobil13.com.tr/httpdocs/widgets/category-news/template.php</b> on line <b>276</b><br /> 5635<br /> 5636<b>Warning</b>: Trying to access array offset on null in <b>/var/www/vhosts/mobil13.com.tr/httpdocs/widgets/category-news/template.php</b> on line <b>276</b><br /> 5637; 5638 color: <br /> 5639<b>Warning</b>: Undefined array key "pagination" in <b>/var/www/vhosts/mobil13.com.tr/httpdocs/widgets/category-news/template.php</b> on line <b>277</b><br /> 5640<br /> 5641<b>Warning</b>: Trying to access array offset on null in <b>/var/www/vhosts/mobil13.com.tr/httpdocs/widgets/category-news/template.php</b> on line <b>277</b><br /> 5642; 5643 font-size: <br /> 5644<b>Warning</b>: Undefined array key "pagination" in <b>/var/www/vhosts/mobil13.com.tr/httpdocs/widgets/category-news/template.php</b> on line <b>278</b><br /> 5645<br /> 5646<b>Warning</b>: Trying to access array offset on null in <b>/var/www/vhosts/mobil13.com.tr/httpdocs/widgets/category-news/template.php</b> on line <b>278</b><br /> 5647; 5648} 5649 5650.news-grid-widget_6abc2888b8656 .page-dots { 5651 color: #6c757d; 5652 padding: 0 5px; 5653 user-select: none; 5654} 5655 5656.news-grid-widget_6abc2888b8656 .news-loader { 5657 text-align: center; 5658 padding: 20px; 5659 margin-top: 20px; 5660} 5661 5662.news-grid-widget_6abc2888b8656 .loader-pulse { 5663 width: 40px; 5664 height: 40px; 5665 background: #e74c3c; 5666 border-radius: 50%; 5667 animation: pulse 1.2s infinite; 5668 margin: 0 auto; 5669} 5670 5671.news-grid-widget_6abc2888b8656 .loader-dots { 5672 display: flex; 5673 gap: 8px; 5674 justify-content: center; 5675} 5676 5677.news-grid-widget_6abc2888b8656 .loader-dots div { 5678 width: calc(40px / 3); 5679 height: calc(40px / 3); 5680 background: #e74c3c; 5681 border-radius: 50%; 5682 animation: dots 1.4s infinite ease-in-out; 5683} 5684 5685.news-grid-widget_6abc2888b8656 .loader-dots div:nth-child(1) { animation-delay: -0.32s; } 5686.news-grid-widget_6abc2888b8656 .loader-dots div:nth-child(2) { animation-delay: -0.16s; } 5687 5688.news-grid-widget_6abc2888b8656 .loader-wave { 5689 display: flex; 5690 gap: 4px; 5691 justify-content: center; 5692} 5693 5694.news-grid-widget_6abc2888b8656 .loader-wave div { 5695 width: 4px; 5696 height: 40px; 5697 background: #e74c3c; 5698 animation: wave 1.2s infinite ease-in-out; 5699} 5700 5701.news-grid-widget_6abc2888b8656 .loader-wave div:nth-child(1) { animation-delay: -1.2s; } 5702.news-grid-widget_6abc2888b8656 .loader-wave div:nth-child(2) { animation-delay: -1.1s; } 5703.news-grid-widget_6abc2888b8656 .loader-wave div:nth-child(3) { animation-delay: -1.0s; } 5704.news-grid-widget_6abc2888b8656 .loader-wave div:nth-child(4) { animation-delay: -0.9s; } 5705.news-grid-widget_6abc2888b8656 .loader-wave div:nth-child(5) { animation-delay: -0.8s; } 5706 5707.news-grid-widget_6abc2888b8656 .news-ad-container { 5708 grid-column: 1 / -1; 5709 text-align: center; 5710 margin: 20px 0; 5711} 5712 5713.news-grid-widget_6abc2888b8656 .news-grid-empty { 5714 grid-column: 1 / -1; 5715 text-align: center; 5716 padding: 40px; 5717 background: #f8f9fa; 5718 border-radius: 8px; 5719 color: #6c757d; 5720} 5721 5722@keyframes pulse { 5723 0% { transform: scale(0.8); opacity: 0.5; } 5724 50% { transform: scale(1); opacity: 1; } 5725 100% { transform: scale(0.8); opacity: 0.5; } 5726} 5727 5728@keyframes dots { 5729 0%, 80%, 100% { transform: scale(0); } 5730 40% { transform: scale(1); } 5731} 5732 5733@keyframes wave { 5734 0%, 40%, 100% { transform: scaleY(0.4); } 5735 20% { transform: scaleY(1); } 5736} 5737 5738@media (max-width: 1200px) { 5739 .news-grid-widget_6abc2888b8656 .news-grid-wrapper { 5740 grid-template-columns: repeat(3, 1fr); 5741 } 5742} 5743 5744@media (max-width: 992px) { 5745 .news-grid-widget_6abc2888b8656 .news-grid-wrapper { 5746 grid-template-columns: repeat(2, 1fr); 5747 } 5748} 5749 5750@media (max-width: 576px) { 5751 .news-grid-widget_6abc2888b8656 .news-grid-wrapper { 5752 grid-template-columns: 1fr; 5753 } 5754 5755 .news-grid-widget_6abc2888b8656 .news-grid-card { 5756 height: auto; 5757 min-height: 380px; 5758 } 5759} 5760</style> 5761<div class="news-grid-widget_6abc2888b8656" id="category-news-widget_6abc2888b8656"> 5762 5763 <div class="news-grid-wrapper"> 5764 <article class="news-grid-card" data-style-group="card"><a href="/teknoloji/hot-chipste-jalapeo-tanitimi-2026-sonu-kucuk-hacim-2027-olcek/107930" title="Hot Chipsâte Jalapeño tanıtımı: 2026 sonu küçük hacim, 2027 ölçek"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/08/25/openai-s-jalapeno-chip-is-built-for-fast-inference-at-scale-benchmarks-show_107930_small.jpg" alt="Hot Chipsâte Jalapeño tanıtımı: 2026 sonu küçük hacim, 2027 ölçek" decoding="async" loading="eager" fetchpriority="high"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">Hot Chipsâte Jalapeño tanıtımı: 2026 sonu küçük hacim, 2027 ölçek</h3><div class="news-grid-excerpt" data-style-group="excerpt">OpenAI, Hot Chipsâte Jalapeñoânun SemiAnalysis InferenceX sonuçlarını paylaÅtı; Nvidia Blackwell kıyası ve 2026 sonuâ2027 ölçek planı aktarıldı.</div><div class="news-grid-date" data-style-group="date">1 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/pacific-fusionin-2030-hedefi-net-facility-gain-icin-albuquerque-tesisine-start/107929" title="Pacific Fusionâın 2030 hedefi: ânet facility gainâ için Albuquerque tesisine start"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/08/25/pacific-fusion-s-next-fusion-machine-could-clear-a-key-hurdle-to-commercial-power_107929_small.jpg" alt="Pacific Fusionâın 2030 hedefi: ânet facility gainâ için Albuquerque tesisine start" decoding="async" loading="eager" fetchpriority="high"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">Pacific Fusionâın 2030 hedefi: ânet facility gainâ için Albuquerque tesisine start</h3><div class="news-grid-excerpt" data-style-group="excerpt">Pacific Fusion, New Mexico Albuquerqueâde ânet facility gainâ hedefi için yeni tesisi için temel attı. 2030 hedefi ve 156 modüllü darbe mimarisi detaylarıyla.</div><div class="news-grid-date" data-style-group="date">1 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/ddr4-ram-fiyatlari-1-ayda-19-artti-ddr5-i-gecti/107928" title="DDR4 RAM fiyatları 1 ayda %19 arttı, DDR5âi geçti"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/07/10/ddr4-ram-fiyatlari-1-ayda-19-artti-ddr5-i-gecti_90a20f12_small.jpg" alt="DDR4 RAM fiyatları 1 ayda %19 arttı, DDR5âi geçti" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">DDR4 RAM fiyatları 1 ayda %19 arttı, DDR5âi geçti</h3><div class="news-grid-excerpt" data-style-group="excerpt">Danawa verilerine g&ouml;re Samsung &ccedil;ipli 16 GB DDR4 fiyatı son bir ayda %19 y&uuml;kseldi; DDR5 artıÅı yaklaÅık %10âda kaldı.</div><div class="news-grid-date" data-style-group="date">2 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/seattle-merkezli-neuralwatt-yapay-zekanin-karbon-emisyonunu-gercek-zamanli-olcen-ilk-araci-gelistirdi/107927" title="Seattle merkezli Neuralwatt, yapay zekanın karbon emisyonu
5764nu gerçek zamanlı ölçen ilk aracı geliÅtirdi"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/07/02/seattle-merkezli-neuralwatt-yapay-zekanin-karbon-e_b31f1b57_small.jpg" alt="Seattle merkezli Neuralwatt, yapay zekanın karbon emisyonunu gerçek zamanlı ölçen ilk aracı geliÅtirdi" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">Seattle merkezli Neuralwatt, yapay zekanın karbon emisyonunu gerçek zamanlı ölçen ilk aracı geliÅtirdi</h3><div class="news-grid-excerpt" data-style-group="excerpt">Seattle merkezli Neuralwatt, yapay zeka iÅlemlerinin karbon emisyonunu gerçek zamanlı hesaplayan ilk platformu geliÅtirdi ve 2030âa kadar yıllık 24-44 milyon ton karbon salımı öngörüyor.</div><div class="news-grid-date" data-style-group="date">2 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/amazon-un-ai-birimi-10-bin-kullaniciya-ulasan-amazon-quick-ile-kucuk-takimlarla-hizlaniyor/107926" title="Amazonâun AI Birimi 10 Bin Kullanıcıya UlaÅan Amazon Quick ile Küçük Takımlarla Hızlanıyor"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/07/02/amazon-un-ai-birimi-10-bin-kullaniciya-ulasan-amaz_7d22808a_small.jpg" alt="Amazonâun AI Birimi 10 Bin Kullanıcıya UlaÅan Amazon Quick ile Küçük Takımlarla Hızlanıyor" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">Amazonâun AI Birimi 10 Bin Kullanıcıya UlaÅan Amazon Quick ile Küçük Takımlarla Hızlanıyor</h3><div class="news-grid-excerpt" data-style-group="excerpt">AWSânin agentic AI birimi, küçük ekiplerle çalıÅan Amazon Quick uygulamasını üç ayda 10 bin kullanıcıya ulaÅtırdı ve verimliliÄi 4,5 kat artırdı.</div><div class="news-grid-date" data-style-group="date">2 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/helion-energy-washington-da-50-mw-kapasiteli-fuzyon-tesisi-icin-lisans-aldi/107925" title="Helion Energy, Washingtonâda 50 MW kapasiteli füzyon tesisi için lisans aldı"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/07/02/helion-energy-washington-da-50-mw-kapasiteli-fuzyo_006897cc_small.jpg" alt="Helion Energy, Washingtonâda 50 MW kapasiteli füzyon tesisi için lisans aldı" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">Helion Energy, Washingtonâda 50 MW kapasiteli füzyon tesisi için lisans aldı</h3><div class="news-grid-excerpt" data-style-group="excerpt">Helion Energy, Washington SaÄlık BakanlıÄıândan aldıÄı lisanslarla 50 megavat kapasiteli Orion füzyon tesisi için güvenlik standartlarını karÅıladı.</div><div class="news-grid-date" data-style-group="date">2 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/spacex-in-75-milyar-dolarlik-halka-arzi-sonrasi-piyasa-degeri-2-94-trilyon-dolara-ulasti/107924" title="SpaceXâin 75 Milyar Dolarlık Halka Arzı Sonrası Piyasa DeÄeri 2,94 Trilyon Dolara UlaÅtı"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/07/01/spacex-in-75-milyar-dolarlik-halka-arzi-sonrasi-pi_a431e79e_small.jpg" alt="SpaceXâin 75 Milyar Dolarlık Halka Arzı Sonrası Piyasa DeÄeri 2,94 Trilyon Dolara UlaÅtı" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">SpaceXâin 75 Milyar Dolarlık Halka Arzı Sonrası Piyasa DeÄeri 2,94 Trilyon Dolara UlaÅtı</h3><div class="news-grid-excerpt" data-style-group="excerpt">
5764SpaceX, Elon Musk liderliÄinde gerçekleÅtirdiÄi 75 milyar dolarlık halka arz sonrası Cursor satın alımıyla piyasa deÄerini 2,94 trilyon dolara yükseltti.</div><div class="news-grid-date" data-style-group="date">3 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/terrapower-birlesik-krallik-ta-yeni-ofis-acarak-uluslararasi-nukleer-santral-hedefini-baslatti/107923" title="TerraPower, BirleÅik Krallıkâta yeni ofis açarak uluslararası nükleer santral hedefini baÅlattı"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/07/01/terrapower-birlesik-krallik-ta-yeni-ofis-acarak-ul_09ed90ee_small.jpg" alt="TerraPower, BirleÅik Krallıkâta yeni ofis açarak uluslararası nükleer santral hedefini baÅlattı" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">TerraPower, BirleÅik Krallıkâta yeni ofis açarak uluslararası nükleer santral hedefini baÅlattı</h3><div class="news-grid-excerpt" data-style-group="excerpt">TerraPower, BirleÅik Krallık'ta yeni ofis açtı, GDA sürecini baÅlattı ve 2030âa kadar Natrium reaktörünü faaliyete geçirmek istiyor.</div><div class="news-grid-date" data-style-group="date">3 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/seattle-da-400-dronla-ilk-fifa-dunya-kupasi-skorbord-gosterisi-yapildi/107922" title="Seattleâda 400 dronla ilk FIFA Dünya Kupası skorbord gösterisi yapıldı"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/06/29/seattle-da-400-dronla-ilk-fifa-dunya-kupasi-skorbo_4708d20f_small.jpg" alt="Seattleâda 400 dronla ilk FIFA Dünya Kupası skorbord gösterisi yapıldı" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">Seattleâda 400 dronla ilk FIFA Dünya Kupası skorbord gösterisi yapıldı</h3><div class="news-grid-excerpt" data-style-group="excerpt">Seattleâda Mısır-Belçika maçının ardından 400 dronla düzenlenen ilk skorbord gösterisi, 2 dakika 45 saniye sürdü ve 66.000âden fazla seyirci önünde gerçekleÅti.</div><div class="news-grid-date" data-style-group="date">3 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/robbie-cape-pioneer-square-labs-destegiyle-sigorta-sektorunde-the-instrument-i-kurdu/107921" title="Robbie Cape, Pioneer Square Labs desteÄiyle sigorta sektöründe The Instrumentâı kurdu"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/06/29/robbie-cape-pioneer-square-labs-destegiyle-sigorta_1d8c5c66_small.jpg" alt="Robbie Cape, Pioneer Square Labs desteÄiyle sigorta sektöründe The Instrumentâı kurdu" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">Robbie Cape, Pioneer Square Labs desteÄiyle sigorta sektöründe The Instrumentâı kurdu</h3><div class="news-grid-excerpt" data-style-group="excerpt">Teknoloji giriÅimcisi Robbie Cape, Pioneer Square Labs ile yapay zeka destekli sigorta giriÅimi The Instrumentâı hayata geçirdi.</div><div class="news-grid-date" data-style-group="date">3 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/university-of-washington-2027-de-disiplinlerarasi-yapay-zeka-yan-dal-programini-baslatiyor/107920" title="University of Washington 2027âde Disiplinlerarası Yapay Zeka Yan Dal Programını BaÅlatıyor"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/06/28/university-of-washington-2027-de-disiplinlerarasi-_1cc1bf2b_small.jpg" alt="University of Washington 2027âde Disiplinlerarası Yapay Zeka Yan Dal Programını BaÅlatıyor" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">University of Washington 2027âde Disiplinlerarası Yapay Zeka Yan Dal Programını BaÅlatıyor</h3><div class="news-grid-excerpt" data-style-group="excerpt">University of Washington, 2027 baharında açacaÄı yeni yapay zeka yan dal programıyla öÄrencilerin teknik ve toplumsal YZ bilgisi edinmesini saÄlayacak.</div><div class="news-grid-date" data-style-group="date">3 ay önce</div></div></a></article><article class="news-grid-card" data-style-group="card"><a href="/teknoloji/solius-labs-23-milyon-dolarlik-yatirim-ile-2-995-dolarlik-uvb-isik-terapisi-cihazini-piyasaya-sundu/107919" title="Solius Labs 23 Milyon Dolarlık Yatırım ile 2.995 Dolarlık UVB IÅık Terapisi Cihazını Piyasaya Sundu"><div class="news-grid-image-container" data-style-group="image"><img class="news-grid-image" src="https://mobil13.com.tr/uploads/2026/06/26/solius-labs-23-milyon-dolarlik-yatirim-ile-2-995-d_002e87fc_small.jpg" alt="Solius Labs 23 Milyon Dolarlık Yatırım ile 2.995 Dolarlık UVB IÅık Terapisi Cihazını Piyasaya Sundu" decoding="async" loading="lazy"><span class="news-grid-category category-bottom-right" data-style-group="category">Teknoloji</span></div><div class="news-grid-content" data-style-group="content"><h3 class="news-grid-title" data-style-group="title">
5764Solius Labs 23 Milyon Dolarlık Yatırım ile 2.995 Dolarlık UVB IÅık Terapisi Cihazını Piyasaya Sundu</h3><div class="news-grid-excerpt" data-style-group="excerpt">Bainbridge Island merkezli Solius Labs, kiÅiselleÅtirilmiÅ UVB ıÅık terapisi sunan Solius Pro cihazını 23 milyon dolarlık yatırım sonrası piyasaya sürdü.</div><div class="news-grid-date" data-style-group="date">3 ay önce</div></div></a></article> </div> 5765 5766 <div class="news-loader" style="display: none;"> 5767 <div class="loader-wave"><div></div><div></div><div></div><div></div><div></div></div> 5768 </div> 5769 5770 </div>
5770<script> 5771 document.addEventListener("DOMContentLoaded", function() { 5772 const state = { 5773 isLoading: false, 5774 currentPage: 1, 5775 hasMore: true, 5776 categoryId: 5, 5777 postsPerLoad: 12 5778 }; 5779 5780 const elements = { 5781 container: document.querySelector("#category-news-widget_6abc2888b8656 .news-grid-wrapper"), 5782 loader: document.querySelector("#category-news-widget_6abc2888b8656 .news-loader") 5783 }; 5784 5785 async function loadMoreNews() { 5786 if (state.isLoading || !state.hasMore) { 5787 return; 5788 } 5789 5790 try { 5791 state.isLoading = true; 5792 5793 if (elements.loader) { 5794 elements.loader.style.display = "block"; 5795 } 5796 5797 const formData = new FormData(); 5798 formData.append("page", state.currentPage + 1); 5799 formData.append("category_id", state.categoryId); 5800 formData.append("posts_per_load", state.postsPerLoad); 5801 5802 const response = await fetch("widgets/category-news-grid/load-news.php", { 5803 method: "POST", 5804 headers: { 5805 "X-Requested-With": "XMLHttpRequest" 5806 }, 5807 body: formData 5808 }); 5809 5810 const data = await response.json(); 5811 5812 if (data.success && data.html) { 5813 elements.container.insertAdjacentHTML("beforeend", data.html); 5814 state.currentPage = data.currentPage; 5815 state.hasMore = data.hasMore; 5816 } else { 5817 state.hasMore = false; 5818 } 5819 } catch (error) { 5820 state.hasMore = false; 5821 } finally { 5822 state.isLoading = false; 5823 if (elements.loader) { 5824 elements.loader.style.display = "none"; 5825 } 5826 } 5827 } 5828 5829 // IntersectionObserver kullanarak daha verimli scroll takibi 5830 const observer = new IntersectionObserver( 5831 (entries) => { 5832 entries.forEach(entry => { 5833 if (entry.isIntersecting) { 5834 loadMoreNews(); 5835 } 5836 }); 5837 }, 5838 { rootMargin: "300px" } 5839 ); 5840 5841 if (elements.loader) { 5842 observer.observe(elements.loader); 5843 } 5844 5845 // Yedek scroll dinleyicisi â throttle ile (150ms), sadece 5846 // IntersectionObserver desteklemeyen cok eski tarayicilar icin. 5847 let scrollBekliyor = false; 5848 window.addEventListener("scroll", () => { 5849 if (scrollBekliyor) return; 5850 scrollBekliyor = true; 5851 setTimeout(() => { 5852 const scrollPos = window.scrollY + window.innerHeight; 5853 const pageHeight = document.documentElement.scrollHeight; 5854 if (pageHeight - scrollPos <= 1000) {
5855 loadMoreNews(); 5856 } 5857 scrollBekliyor = false; 5858 }, 150); 5859 }, { passive: true }); 5860 }); 5861 </script>
5861</div></div></div></div> </div> 5862 5863 5864 <!-- DiÄer JS dosyaları --> 5865
5865<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
5865 5866
5866<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script>
5866 5867
5867<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
5867 5868 </div> 5869 5870 </main> 5871 <div class="widget-container" data-widget-id="376" data-widget-type="site-footer"> 5872<footer class="site-footer-wrapper" style="background: linear-gradient(to bottom right, #ffffff 40%, #ffffff)" 5873> 5874 5875 <div class="site-footer full_width"> 5876 <div class="footer-content"> 5877 <div class="footer-logo-section"> 5878 <!-- Logo ve Slogan --> 5879 <div class="footer-logo-wrapper"> 5880 <a href="/" class="footer-logo-link"> 5881 <img class="footer-logo-img" 5882 src="https://mobil13.com.tr/uploads/logo/6910cea3aeb32.png" 5883 alt="mobil13 - Mobil Telefon ve Teknoloji Haberleri" 5884 loading="lazy" 5885 width="300px" 5886 height="auto"> 5887 </a> 5888 <p class="footer-slogan">mobil13; Teknoloji haberlerinin yorumla süslenmiÅ haline biz mobil13 diyoruz.</p> 5889 </div> 5890 <div class="footer-separator"> 5891 <!-- Sosyal Medya İkonları --> 5892 </div> 5893 5894 <!-- Mobil App --> 5895 <div class="app-badges"> 5896 <a href="https://apps.apple.com/" 5897 class="app-store-badge" 5898 target="_blank" 5899 rel="noopener noreferrer"> 5900 <svg viewBox="0 0 135 40" fill="currentColor"> 5901 <rect width="135" height="40" rx="5" fill="#000"/> 5902 <text x="45" y="15" fill="#fff" font-family="system-ui" font-size="10">Download on the</text> 5903 <text x="45" y="30" fill="#fff" font-family="system-ui" font-size="16">App Store</text> 5904 <path fill="#fff" d="M23.5 20.5c0-1.6.8-3 2.1-3.8-.8-1.2-2-1.9-3.4-1.9-1.4 0-2.4.8-3.1.8s-1.6-.8-2.7-.8c-2.2.1-4.2 2.6-4.2 5.7 0 2.2.8 4.5 1.8 6 .8 1.2 1.8 2.5 3.1 2.5s1.7-.8 3.2-.8 1.9.8 3.2.8 2.2-1.2 3-2.4c.6-.9 1.1-1.9 1.4-3-1.8-.7-2.4-2.5-2.4-4.1zm-2.2-7.5c.8-1 1.2-2.2 1-3.5-1.1.1-2.4.8-3.2 1.7-.7.8-1.3 2-1.1 3.2 1.2.1 2.4-.5 3.3-1.4z"/> 5905 </svg> </a> 5906 5907 <a href="https://play.google.com/" 5908 class="play-store-badge" 5909 target="_blank" 5910 rel="noopener noreferrer"> 5911 <svg viewBox="0 0 135 40" fill="currentColor"> 5912 <rect width="135" height="40" rx="5" fill="#000"/> 5913 <text x="45" y="15" fill="#fff" font-family="system-ui" font-size="10">GET IT ON</text> 5914 <text x="45" y="30" fill="#fff" font-family="system-ui" font-size="16">Google Play</text> 5915 <path fill="#fff" d="M20 11L8 4v24l12-7 9-5-9-5zm-11 13.17V7.83L16.83 13 9 17.17z"/> 5916 </svg> </a> 5917 </div> 5918 </div> 5919 5920 <!-- Kategorize edilmiÅ menüler --> 5921 <div class="footer-menu-grid"> 5922 <div class="footer-menu-col"> 5923 <h3>Kurumsal</h3> 5924 <ul> 5925 <li><a href="/hakkimizda" 5926 target="_self"> 5927 Hakkımızda </a></li> 5928 <li><a href="/iletisim" 5929 target="_self"> 5930 İletiÅim </a></li> 5931 <li><a href="/gizlilik-bildirimi" 5932 target="_self"> 5933 Gizlilik Bildirimi </a></li> 5934 <li><a href="/kunye" 5935 target="_self"> 5936 Künye </a></li> 5937 </ul> 5938 </div> 5939 <div class="footer-menu-col"> 5940 <h3>Medya</h3> 5941 <ul> 5942 <li><a href="/video-galeri" 5943 target="_self"> 5944 Video Galeri </a></li> 5945 </ul> 5946 </div> 5947 <div class="footer-menu-col"> 5948 <h3>Site İçeriÄi</h3> 5949 <ul> 5950 <li><a href="/son-dakika-haberleri" 5951 target="_self"> 5952 Son Dakika </a></li> 5953 <li><a href="/mansetler" 5954 target="_self"> 5955 ManÅetler </a></li> 5956 </ul> 5957 </div> 5958 <div class="footer-menu-col"> 5959 <h3>DiÄer</h3> 5960 <ul> 5961 <li><a href="/nasil-yapilir" 5962 target="_self"> 5963 NASIL YAPILIR? </a></li> 5964 <li><a href="/akilli-telefon" 5965 target="_self"> 5966 AKILLI TELEFON </a></li> 5967 <li><a href="/oyun" 5968 target="_self"> 5969 OYUN </a></li> 5970 <li><a href="/teknoloji" 5971 target="_self"> 5972 TEKNOLOJİ </a></li> 5973 <li><a href="/otomobil" 5974 target="_self"> 5975 OTOMOBİL </a></li> 5976 <li><a href="/inceleme" 5977 target="_self"> 5978 İNCELEME </a></li> 5979 </ul> 5980 </div> 5981 </div> 5982 5983 <!-- Telif Hakkı & GeliÅtirici --> 5984 <div class="footer-bottom"> 5985 <div class="copyright"> 5986 Yasal Uyarı: "Mobil13" adlı sitemizdeki tüm yazı, resim ve haberlerin her hakkı saklıdır. Bizden izinsiz kesinlikle çoÄaltılamaz. </div> 5987 5988 <div class="footer-separator"></div> 5989 5990 <div class="developer"> 5991 Haber yazılımı ve tasarımı <a href="/" 5992 target="_blank" 5993 rel="noopener"> 5994 AladaÄ BiliÅim </a> 5995 tarafından geliÅtirilmiÅtir. <br> 5996İletiÅim: <a href="tel:+90 232 376 67 07" class="text-white">+90 232 376 67 07</a> 5997 </div> 5998 </div> 5999 </div> 6000 </div> 6001</footer> 6002 6003<button id="scrollToTopBtn" 6004 onclick="window.scrollTo({top: 0, behavior: 'smooth'});" 6005 title="Yukarı Ãık"> 6006 ⇧ 6007</button> 6008 6009<style> 6010 6011/*Yukarı Ãık Butonu*/ 6012#scrollToTopBtn { 6013 display: none; 6014 position: fixed; 6015 bottom: 20px; 6016 right: 20px; 6017 border: none; 6018 outline: none; 6019 background-color: #000000; 6020 color: #ffffff; 6021 cursor: pointer; 6022 padding: 5px 10px; 6023 border-radius: 25px; 6024 font-size: 20px; 6025 box-shadow: 0px 2px 4px rgba(0,0,0,0.3); 6026 z-index: 9999999; 6027} 6028 6029#scrollToTopBtn:hover { 6030 background-color: #bc3a41; 6031} 6032 6033.site-footer-wrapper { 6034 width: 100%; 6035 display: flex; 6036 justify-content: center; 6037 padding: 0 20px; 6038} 6039 6040.site-footer { 6041 width: 100%; 6042 padding: 40px 0; 6043 display: flex; 6044 justify-content: center; 6045} 6046 6047.footer-content { 6048 width: 100%; 6049 max-width: 1070px; 6050 padding: 0 20px; 6051} 6052 6053.footer-logo-section { 6054 display: flex; 6055 justify-content: space-between; 6056 align-items: center; 6057 margin-bottom: 40px; 6058} 6059 6060.footer-logo-wrapper { 6061 display: flex; 6062 flex-direction: column; 6063 align-items: flex-start; 6064} 6065 6066.footer-logo-link { 6067 display: block; 6068 margin-bottom: 10px; 6069} 6070 6071.footer-logo-img { 6072 display: block; 6073 max-width: 100%; 6074 height: auto; 6075} 6076 6077.footer-slogan { 6078 color: #5e5e5e; 6079 font-size: 13px; 6080 margin: 0; 6081} 6082 6083.footer-separator { 6084 width: 100%; 6085 height: 1px; 6086 background-color: #0a4c8b; 6087 margin: 20px 0; 6088 position: relative; 6089} 6090 6091.app-badges { 6092 display: flex; 6093} 6094 6095.app-store-badge, 6096.play-store-badge { 6097 display: inline-block; 6098 width: 120px; 6099 height: 40px; 6100 margin-left: 10px; 6101} 6102 6103.app-store-badge svg, 6104.play-store-badge svg { 6105 width: 100%; 6106 height: 100%; 6107} 6108 6109.footer-menu-grid { 6110 display: grid; 6111 grid-template-columns: repeat(4, 1fr); 6112 gap: 40px; 6113 margin-bottom: 40px; 6114} 6115 6116.footer-menu-col h3 { 6117 color: #5e5e5e; 6118 font-size: 18px; 6119 font-weight: 600; 6120 margin-bottom: 20px; 6121} 6122 6123.footer-menu-col ul { 6124 list-style: none; 6125 padding: 0; 6126 margin: 0; 6127} 6128 6129.footer-menu-col ul li { 6130 margin-bottom: 12px; 6131} 6132 6133.footer-menu-col ul li a { 6134 color: #000000; 6135 text-decoration: none; 6136 font-size: 16px; 6137 transition: color 0.2s; 6138} 6139 6140.footer-menu-col ul li a:hover { 6141 color: #919191; 6142} 6143 6144.social-icons { 6145 display: flex; 6146 gap: 15px; 6147 position: absolute; 6148 right: 0; 6149 top: -10px; 6150 background-color: #ffffff; 6151 padding: 0 10px; 6152} 6153 6154.social-icons svg { 6155 width: 24px; 6156 height: 24px; 6157} 6158 6159.footer-bottom { 6160 display: flex; 6161 flex-direction: column; 6162 align-items: center; 6163 text-align: center; 6164} 6165 6166.copyright { 6167 color: #5e5e5e; 6168 font-size: 14px; 6169 margin-bottom: 20px; 6170} 6171 6172.developer { 6173 color: #5e5e5e; 6174 font-size: 14px; 6175 margin-top: 20px; 6176} 6177 6178.developer a { 6179 color: #000000; 6180} 6181 6182@media (max-width: 768px) { 6183 .footer-menu-grid { 6184 grid-template-columns: repeat(1, 1fr); 6185 gap: 30px; 6186 } 6187} 6188 6189/* Tablet */ 6190@media (max-width: 1024px) { 6191 .footer-menu-grid { 6192 grid-template-columns: repeat(1, 1fr); 6193 gap: 20px; 6194 } 6195} 6196 6197/* Mobile */ 6198@media (max-width: 480px) { 6199 .footer-logo-section { 6200 flex-direction: column; 6201 gap: 20px; 6202 } 6203 6204} 6205</style>
6206<script> 6207 window.onscroll = function() { 6208 if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { 6209 document.getElementById("scrollToTopBtn").style.display = "block"; 6210 } else { 6211 document.getElementById("scrollToTopBtn").style.display = "none"; 6212 } 6213 }; 6214</script>
6214 6215<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 6215-6216
6215 6216<script async src="https://www.googletagmanager.com/gtag/js?id=
6216G-XQB2GR4FT7
vendor: 12 bytes, line 6216
6216"></script>
6217<script> 6218
vendor: 134 bytes, lines 6218-6222
6218window.dataLayer = window.dataLayer || []; 6219 function gtag(){dataLayer.push(arguments);} 6220 gtag('js', new Date()); 6221 6222 gtag('config', '
6222G-XQB2GR4FT7
vendor: 4 bytes, line 6222
6222');
6223</script>
6223</div> </div> 6224</body> 6225</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.