fix clipboard for the panel
This commit is contained in:
@ -1011,6 +1011,7 @@ const fileContextMenu = (elDisplay = null) => {
|
||||
.setLabel('Copy path')
|
||||
.setClickHandler(() => {
|
||||
const path = isNoneSelected ? activeConnection.path : selectedFiles[0].dataset.path;
|
||||
console.log('Clipboard context:', window.location.href, window.top === window ? 'Parent' : 'Iframe');
|
||||
navigator.clipboard.writeText(path);
|
||||
setStatus(`Copied path to clipboard`);
|
||||
})
|
||||
@ -2318,8 +2319,25 @@ btnShare.addEventListener('click', async() => {
|
||||
} else if (isMultiSelected)
|
||||
url = await getZipDownloadUrl(selected.map(el => el.dataset.path), activeConnection.path);
|
||||
if (url) {
|
||||
navigator.clipboard.writeText(url);
|
||||
setStatus(`Copied download link to clipboard`);
|
||||
try {
|
||||
await navigator.clipboard.writeText(url);
|
||||
setStatus(`Copied download link to clipboard`);
|
||||
} catch (err) {
|
||||
console.error('Clipboard error:', err);
|
||||
// Fallback
|
||||
const textarea = document.createElement('textarea');
|
||||
textarea.value = url;
|
||||
document.body.appendChild(textarea);
|
||||
textarea.select();
|
||||
try {
|
||||
document.execCommand('copy');
|
||||
setStatus(`Copied download link to clipboard (fallback)`);
|
||||
} catch (fallbackErr) {
|
||||
console.error('Fallback failed:', fallbackErr);
|
||||
setStatus(`Failed to copy link. Please copy manually: ${url}`, true);
|
||||
}
|
||||
document.body.removeChild(textarea);
|
||||
}
|
||||
}
|
||||
}))
|
||||
.addAction(action => action.setLabel('Cancel'))
|
||||
|
Reference in New Issue
Block a user