document.addEventListener("DOMContentLoaded", () => {
    console.log("Cargando: actions.js");

    // Manejo de la eliminación de pastes
    document.querySelectorAll('.delete-paste').forEach(button => {
        button.addEventListener('click', function () {
            const pasteId = this.dataset.id;
            const row = document.getElementById(`paste-${pasteId}`);

            fetch(`/user/paste/${pasteId}/delete`, { method: 'POST' })
                .then(response => response.json())
                .then(data => {
                    if (data.message) {
                        row.remove();
                        showToast(data.message);
                        updateCharts();  // Llamada para refrescar estadísticas
                    } else {
                        showToast(data.error || 'Error occurred.', 'danger');
                    }
                })
                .catch(error => console.error('Error:', error));
        });
    });

    // Función para actualizar estadísticas
const username = document.body.dataset.username;
function updateCharts() {
    fetch(`/user/${username}/stats?format=json`)
        .then(response => response.json())
        .then(stats => {
            console.log("Respuesta AJAX recibida:", stats);

            // ✅ Actualizar métricas con valores predeterminados
            document.getElementById('total-pastes').innerText = stats.totalPastes ?? 0;
            document.getElementById('total-text-pastes').innerText = stats.totalTextPastes ?? 0;
            document.getElementById('total-file-pastes').innerText = stats.totalFilePastes ?? 0;
            document.getElementById('total-media-pastes').innerText = stats.totalMediaPastes ?? 0;

            // ✅ Actualizar gráfico
            if (window.languageTypeChart) {
                window.languageTypeChart.data.labels = stats.languageLabels ?? [];
                window.languageTypeChart.data.datasets[0].data = stats.textCounts ?? [];
                window.languageTypeChart.data.datasets[1].data = stats.fileCounts ?? [];
                window.languageTypeChart.data.datasets[2].data = stats.mediaCounts ?? [];
                window.languageTypeChart.update();
            }
        })
        .catch(error => console.error('Error actualizando métricas y gráficos:', error));
}
});

