import { Controller } from '@hotwired/stimulus';

/*
 * Contrôleur Stimulus pour bouton de suppression avec confirmation.
 * Sur le premier clic, le bouton devient "Confirmer" et son href est mis à jour.
 */

export default class extends Controller {
    static values = {
        baseUrl: String // Par exemple : "/items/delete/"
    }

    connect() {
        console.log("Stimulus: bouton de suppression avec confirmation");
        this.originalText = this.element.textContent;
        this.confirmed = false;
        this.element.addEventListener('click', this.handleClick.bind(this));
    }

    handleClick(event) {
        if (!this.confirmed) {
            event.preventDefault();

            // Récupère l'ID depuis data-id
            const id = this.element.dataset.id;

            if (!id) {
                console.error("Aucun data-id trouvé sur l'élément.");
                return;
            }

            // Remplace le texte et modifie le lien
            this.element.textContent = "Confirmer ?";
            this.element.href = id;
            this.confirmed = true;

            // Optionnel : annule la confirmation après X secondes
            setTimeout(() => {
                this.element.textContent = this.originalText;
                this.element.href = "#";
                this.confirmed = false;
            }, 5000);
        }
        // Sinon, clic confirmé => laisse le lien agir normalement
    }
}