Untitled
// Haber ekleme işlemi (add-news.html) document.getElementById('news-form')?.addEventListener('submit', async (event) => { event.preventDefault(); const title = document.getElementById('title').value; const content = document.getElementById('content').value; const imageUrl = document.getElementById('image-url').value; const response = await fetch('/api/add-news', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ title, content, imageUrl }) }); if (response.ok) { alert('Haber başarıyla eklendi!'); window.location.href = '/public/admin-panel.html'; // Haber eklendikten sonra admin paneline yönlendir } else { alert('Haber eklenirken bir hata oluştu.'); } }); // Haberleri listeleme işlemi (index.html) async function fetchNews() { const response = await fetch('/api/news'); const news = await response.json(); const newsHeading = document.getElementById('news-heading'); const newsCards = document.getElementById('news-cards'); if (newsCards === null) { console.error("newsCards öğesi bulunamadı."); return; } newsCards.innerHTML = ''; if (news.length === 0) { newsHeading.classList.add('d-none'); // Haber yoksa başlığı gizle } else { newsHeading.classList.remove('d-none'); // Haber varsa başlığı göster news.forEach((item, index) => { const card = ` <div class="col-md-4 mb-4"> <div class="card"> ${item.imageUrl ? `<img src="${item.imageUrl}" class="card-img-top" alt="Haber Resmi">` : ''} <div class="card-body"> <h5 class="card-title">${item.title}</h5> <p class="card-text">${item.content}</p> </div> </div> </div> `; newsCards.innerHTML += card; }); } } fetchNews(); // Sunucu durumunu almak ve göstermek document.addEventListener('DOMContentLoaded', function() { fetchServerStatus(); async function fetchServerStatus() { try { const response = await fetch('/api/server-status'); const data = await response.json(); // ID'leri kontrol edelim ve ilgili öğeleri seçelim const serverStatusIndicator = document.getElementById('server-status-indicator'); const playerCount = document.getElementById('player-count'); const map = document.getElementById('map'); const gameMode = document.getElementById('game-mode'); const ping = document.getElementById('ping'); const playerListElement = document.getElementById('player-list'); const topThreePlayersElement = document.getElementById('top-three-players'); // ID'lerin null olup olmadığını kontrol edelim if (!serverStatusIndicator || !playerCount || !map || !gameMode || !ping || !playerListElement || !topThreePlayersElement) { console.error("HTML öğeleri bulunamadı."); return; } if (data.error) { serverStatusIndicator.innerText = data.error; } else { serverStatusIndicator.innerText = data.status; playerCount.innerText = data.players; map.innerText = data.map; gameMode.innerText = data.gameMode; ping.innerText = data.ping; playerListElement.innerHTML = ''; data.playerList.forEach(player => { const listItem = document.createElement('li'); listItem.className = 'list-group-item'; listItem.innerText = `${player.name} - Score: ${player.score}`; playerListElement.appendChild(listItem); }); // Liderler bölümünü doldur const topThreePlayers = data.playerList.slice(0, 3); // İlk üç oyuncuyu al topThreePlayersElement.innerHTML = ''; topThreePlayers.forEach(player => { const playerCard = document.createElement('div'); playerCard.className = 'col-md-4'; playerCard.innerHTML = ` <div class="card"> <div class="card-body"> <h5 class="card-title">${player.name}</h5> <p class="card-text">Score: ${player.score}</p> </div> </div> `; topThreePlayersElement.appendChild(playerCard); }); } } catch (error) { document.getElementById('server-status-indicator').innerText = 'Sunucu durumu alınamadı.'; console.error('Sunucu durumu alınamadı:', error); } } }); // Modal açıldığında ve kapatıldığında kaydırma çubuğunu koruma $('#connectModal').on('show.bs.modal', function () { $('body').css('overflow', 'auto'); }); $('#connectModal').on('hide.bs.modal', function () { $('body').css('overflow', 'auto'); }); // Buton 2'ye tıklandığında IP adresini ve portu kopyalama document.getElementById('copyButton')?.addEventListener('click', () => { const serverInfo = "192.168.1.1:27015"; // Sunucunuzun IP adresi ve portunu buraya ekleyin navigator.clipboard.writeText(serverInfo).then(() => { const copyMessage = document.getElementById('copyMessage'); copyMessage.style.display = 'block'; // Kopyalandı mesajını göster setTimeout(() => { copyMessage.style.display = 'none'; // 3 saniye sonra mesajı gizle }, 3000); }).catch(err => { console.error('Kopyalama başarısız:', err); }); });
Leave a Comment