mcServerWebsite/app/assets/controllers/copy_link_controller.js
2026-04-09 15:23:15 +02:00

26 lines
901 B
JavaScript

import { Controller } from '@hotwired/stimulus';
export default class extends Controller {
static targets = ['link'];
copy(event) {
event.preventDefault();
const text = this.linkTarget.getAttribute('data-copy-text') || this.linkTarget.textContent;
navigator.clipboard.writeText(text).then(() => {
// Feedback visuel : changement temporaire du texte/couleur
const originalText = this.linkTarget.textContent;
this.linkTarget.textContent = '✓ Copié !';
this.linkTarget.classList.add('copied');
// Restaurer après 2 secondes
setTimeout(() => {
this.linkTarget.textContent = originalText;
this.linkTarget.classList.remove('copied');
}, 2000);
}).catch(err => {
console.error('Erreur lors de la copie:', err);
});
}
}