diff --git a/src/composables/useClipboard.ts b/src/composables/useClipboard.ts new file mode 100644 index 0000000..c5d856b --- /dev/null +++ b/src/composables/useClipboard.ts @@ -0,0 +1,15 @@ +/** Copie du texte dans le presse-papiers avec fallback pour HTTP non-localhost. */ +export async function copyToClipboard(text: string): Promise { + if (navigator.clipboard) { + await navigator.clipboard.writeText(text) + return + } + // Fallback : execCommand (HTTP non sécurisé) + const el = document.createElement('textarea') + el.value = text + el.style.cssText = 'position:fixed;top:-9999px;left:-9999px;opacity:0' + document.body.appendChild(el) + el.select() + document.execCommand('copy') + document.body.removeChild(el) +} diff --git a/src/views/settings/JellyfinView.vue b/src/views/settings/JellyfinView.vue index dd6a988..dc78158 100644 --- a/src/views/settings/JellyfinView.vue +++ b/src/views/settings/JellyfinView.vue @@ -102,7 +102,8 @@