const searchInput=document.getElementById('gameSearch'); const loadMore=document.getElementById('loadMore'); const cards=[...document.querySelectorAll('.game-card')]; let currentFilter='all'; function applyFilters(){ const q=(searchInput?.value||'').trim().toLowerCase(); let visible=0; document.querySelectorAll('.no-results').forEach(e=>e.remove()); cards.forEach(card=>{ const okFilter=currentFilter==='all'||card.dataset.category===currentFilter; const okSearch=!q||(card.dataset.title||'').includes(q); const ok=okFilter&&okSearch; card.style.display=ok?'':'none'; if(ok) visible++; }); if(visible===0){ const grid=document.querySelector('.games-panel .games-grid'); if(grid){const div=document.createElement('div');div.className='no-results';div.textContent='Oyun tapılmadı';grid.appendChild(div)} } } searchInput?.addEventListener('input',applyFilters); document.querySelectorAll('[data-filter]').forEach(btn=>btn.addEventListener('click',()=>{ currentFilter=btn.dataset.filter; document.querySelectorAll('[data-filter]').forEach(x=>x.classList.remove('is-active')); btn.classList.add('is-active'); document.querySelectorAll('.game-card.is-extra').forEach(x=>x.classList.add('is-visible')); if(loadMore) loadMore.style.display='none'; applyFilters(); })); loadMore?.addEventListener('click',()=>{ document.querySelectorAll('.game-card.is-extra').forEach(x=>x.classList.add('is-visible')); loadMore.style.display='none'; }); document.querySelector('[data-scroll-search]')?.addEventListener('click',()=>{ document.getElementById('games')?.scrollIntoView({behavior:'smooth'}); setTimeout(()=>searchInput?.focus(),450); });