// Resistiré - UI de Eventos

function mostrarEvento(evento) {
    const modal = document.getElementById('event-modal');
    const headerEl = document.getElementById('event-header');
    const titleEl = document.getElementById('event-title');
    const descEl = document.getElementById('event-description');
    const optionsEl = document.getElementById('event-options');

    if (!modal || !evento) return;

    const ola = getDecadaActual();
    headerEl.textContent = ola ? `OLA ${gameState.decadaIndex + 1}: ${ola.name.toUpperCase()}` : 'EVENTO';
    titleEl.textContent = evento.titulo;
    descEl.textContent = evento.descripcion;

    optionsEl.innerHTML = '';
    evento.opciones.forEach((opcion, index) => {
        const optionEl = document.createElement('div');
        optionEl.className = 'event-option';
        optionEl.tabIndex = 0;
        optionEl.setAttribute('role', 'button');
        optionEl.innerHTML = `
            <div class="event-option-title">${opcion.texto}</div>
        `;

        optionEl.addEventListener('click', () => {
            seleccionarOpcionEvento(evento, index);
        });

        optionsEl.appendChild(optionEl);
    });

    modal.classList.add('active');

    if (typeof announceEvent === 'function') {
        announceEvent(evento.titulo, evento.descripcion);
    }

    if (typeof setupFocusTrap === 'function') {
        setupFocusTrap(modal, cerrarEventoModal);
    }
}

function seleccionarOpcionEvento(evento, opcionIndex) {
    const opcion = evento.opciones[opcionIndex];
    if (!opcion) return;

    aplicarEfectos(opcion.efecto);
    gameState.stats.eventosResueltos++;

    cerrarEventoModal();
    updateDisplay();
    saveGame();

    if (opcion.descripcionEfecto) {
        setTimeout(() => mostrarFraseAsesor(opcion.descripcionEfecto), 200);
    }
}

function cerrarEventoModal() {
    const modal = document.getElementById('event-modal');
    if (modal) {
        modal.classList.remove('active');
        if (typeof removeFocusTrap === 'function') {
            removeFocusTrap(modal);
        }
    }
}

function mostrarFraseAsesor(frase) {
    const modal = document.getElementById('quote-modal');
    const textEl = document.getElementById('quote-text');

    if (!modal || !textEl) return;

    textEl.textContent = `"${frase}"`;
    modal.classList.add('active');

    setTimeout(() => {
        modal.classList.remove('active');
    }, 2200);
}

function mostrarFraseOla() {
    const ola = getDecadaActual();
    if (ola && ola.name) {
        mostrarFraseAsesor(`OLA ${gameState.decadaIndex + 1}: ${ola.name}`);
    }
}
