document.addEventListener('DOMContentLoaded', () => { const tabs = document.querySelectorAll('.tab-button'); const tabPanes = document.querySelectorAll('.tab-pane'); // Handle tab navigation tabs.forEach(tab => { tab.addEventListener('click', () => { tabs.forEach(t => t.classList.remove('active')); tabPanes.forEach(pane => pane.classList.remove('active')); tab.classList.add('active'); document.getElementById(tab.dataset.tab).classList.add('active'); }); }); // Fetch and display top users by balance async function fetchTopUsers() { const sortBy = document.getElementById('sort-users').value; const response = await fetch(`/top-users?sortBy=${sortBy}`); const data = await response.json(); const topUsersContainer = document.getElementById('top-users'); topUsersContainer.innerHTML = data.map(player => `

${player.name} ${player.status === 'bronze' ? '[🔺]' : player.status === 'silver' ? '[🔹]' : '[🔸]'}

Баланс: ${player.money} ₽

Уровень: ${player.level}

`).join(''); } // Fetch and display top characters by balance async function fetchTopCharacters() { const sortBy = document.getElementById('sort-characters').value; const response = await fetch(`/top-characters?sortBy=${sortBy}`); const data = await response.json(); const topCharactersContainer = document.getElementById('top-characters'); topCharactersContainer.innerHTML = data.map(character => `

${character.name}

Грязные деньги: ${character.dirtymoney} ₽

Уровень: ${character.level}

Сила: ${character.force}

Интеллект: ${character.intelligence}

Устойчивость: ${character.resilience}

Выносливость: ${character.endurance}

`).join(''); } // Fetch and display enterprises async function fetchEnterprises() { const response = await fetch('/enterprises'); const data = await response.json(); const enterprisesContainer = document.getElementById('enterprises-list'); enterprisesContainer.innerHTML = data.map(enterprise => `

${enterprise.name} ${enterprise.icon}

Тип ресурса: ${enterprise.resourceType}

Уровень: ${enterprise.level}

Производительность: ${enterprise.efficiency} ед./час

Емкость склада: ${enterprise.warehouseCapacity} ед.

Текущие ресурсы: ${enterprise.currentResources} ед.

Владелец: ${enterprise.owner}

`).join(''); } // Fetch and display businesses async function fetchBusinesses() { const sortBy = document.getElementById('sort-businesses').value; const response = await fetch(`/businesses?sortBy=${sortBy}`); const data = await response.json(); const businessesContainer = document.getElementById('businesses-list'); businessesContainer.innerHTML = data.map(business => `

${business.name}

Владелец: ${business.owner}

Баланс: ${business.balance} ₽

Пользователи: ${business.usersCount}

`).join(''); } // Initial fetches fetchTopUsers(); fetchTopCharacters(); fetchEnterprises(); fetchBusinesses(); });