copy link modal
All checks were successful
Deploy / Deploy to Production (push) Successful in 12s

This commit is contained in:
Julie Blanc 2026-01-21 17:25:37 +01:00
parent 2f7473be0a
commit 43ad7241d4
10 changed files with 111 additions and 147 deletions

View file

@ -3,9 +3,17 @@ export function initDropdowns() {
dropdowns.forEach(dropdown => {
const trigger = dropdown.querySelector('.dropdown__trigger');
const content = dropdown.querySelector('.dropdown__content');
if (!trigger) return;
// Empêche la fermeture au clic dans le contenu des dropdowns contenant .modal--share
if (dropdown.querySelector('.modal--share') && content) {
content.addEventListener('click', (e) => {
e.stopPropagation();
});
}
trigger.addEventListener('click', (e) => {
e.stopPropagation();
@ -40,8 +48,12 @@ export function initDropdowns() {
});
// Ferme tous les dropdowns au clic extérieur
document.addEventListener('click', () => {
document.addEventListener('click', (e) => {
dropdowns.forEach(dropdown => {
// Ne ferme pas si le clic est dans un dropdown contenant .modal--share
if (dropdown.querySelector('.modal--share') && dropdown.contains(e.target)) {
return;
}
dropdown.classList.remove('is-open', 'dropdown--align-right');
dropdown.querySelector('.dropdown__trigger')?.classList.remove('is-selected');
});

View file

@ -1,14 +1,16 @@
export function copyLink() {
let buttons = document.querySelectorAll('.copy-link button');
buttons.forEach(function (button, index) {
let link = button.parentNode.querySelector("input").value;
let input = button.parentNode.querySelector("input");
let link = input.value;
button.addEventListener('click', function() {
navigator.clipboard.writeText(link).then(() => {
const originalText = button.textContent;
button.textContent = 'Lien copié';
input.value = 'Lien copié !';
input.classList.add('is-copied');
setTimeout(() => {
button.textContent = originalText;
input.value = link;
input.classList.remove('is-copied');
}, 1000);
}).catch(err => {
console.error('Erreur lors de la copie:', err);