// ==================== РЫНОК ПРЕДЛОЖЕНИЙ ==================== import { state } from '../core/state.js'; import { playSound } from '../audio/sound-engine.js'; let marketPanel, marketClose, marketContent; export function initMarket() { marketPanel = document.getElementById('marketPanel'); marketClose = document.getElementById('marketClose'); marketContent = document.getElementById('marketContent'); if (!marketPanel) return; if (marketClose) marketClose.addEventListener('click', () => closeMarket()); document.addEventListener('toggleMarket', () => toggleMarket()); } export function toggleMarket() { if (!marketPanel) return; if (marketPanel.style.display === 'none' || !marketPanel.style.display) { openMarket(); } else { closeMarket(); } } export function closeMarket() { if (marketPanel) marketPanel.style.display = 'none'; } function openMarket() { if (marketPanel) { marketPanel.style.display = 'block'; renderMarket(); } } function renderMarket() { if (!marketContent) return; if (!state.socket) { marketContent.innerHTML = '
Подключение к серверу...
'; return; } state.socket.emit('market_list', {}, (orders) => { if (!orders || !orders.length) { marketContent.innerHTML = 'Предложений пока нет
'; const btn = document.getElementById('createOrderBtn'); if (btn) btn.addEventListener('click', showCreateOrder); return; } let html = ''; html += orders.map(o => '