diff --git a/assets/css/admin.css b/assets/css/admin.css index b8297ba..8eb6502 100644 --- a/assets/css/admin.css +++ b/assets/css/admin.css @@ -51,6 +51,20 @@ background-color: #ffffff; } +.esi-peppol-webhook-url-display { + flex: 1 1 auto; + display: inline-block; + padding: 6px 10px; + background-color: #f6f7f7; + border: 1px solid #ddd; + border-radius: 4px; + font-family: 'Courier New', Courier, monospace; + font-size: 13px; + line-height: 1.6; + color: #1d2327; + word-break: break-all; +} + #esi-peppol-test-result { margin-top: 15px; } diff --git a/assets/js/admin.js b/assets/js/admin.js index b895fc5..6668967 100644 --- a/assets/js/admin.js +++ b/assets/js/admin.js @@ -465,18 +465,40 @@ e.preventDefault(); var $target = $($(this).data('target')); if ($target.length) { - $target.select(); - try { - document.execCommand('copy'); - var $btn = $(this); - var originalText = $btn.text(); - $btn.text('✓ Copié').prop('disabled', true); - setTimeout(function () { - $btn.text(originalText).prop('disabled', false); - }, 2000); - } catch (err) { - // Fallback pour les navigateurs qui ne supportent pas execCommand - console.error('Erreur lors de la copie:', err); + var textToCopy = $target.text() || $target.val() || ''; + if (textToCopy) { + // Utiliser l'API Clipboard moderne si disponible + if (navigator.clipboard && navigator.clipboard.writeText) { + navigator.clipboard.writeText(textToCopy).then(function () { + var $btn = $(e.currentTarget); + var originalText = $btn.text(); + $btn.text('✓ Copié').prop('disabled', true); + setTimeout(function () { + $btn.text(originalText).prop('disabled', false); + }, 2000); + }).catch(function (err) { + console.error('Erreur lors de la copie:', err); + }); + } else { + // Fallback pour les anciens navigateurs + try { + // Créer un élément temporaire pour la copie + var $temp = $('