diff options
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub/static/copy-link.js')
| -rw-r--r-- | packages/meshbay-hub/src/meshbay_hub/static/copy-link.js | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/copy-link.js b/packages/meshbay-hub/src/meshbay_hub/static/copy-link.js index ad6c3be..4cc3f30 100644 --- a/packages/meshbay-hub/src/meshbay_hub/static/copy-link.js +++ b/packages/meshbay-hub/src/meshbay_hub/static/copy-link.js @@ -1,6 +1,7 @@ import { t } from './i18n.js'; import * as platform from './platform.js'; import { groupLinkRoute } from './group-link.js'; +import { say } from './note.js'; /** * "Copy link": the `#/name@owner/path` address of a file or folder @@ -41,27 +42,9 @@ async function _write(text) { return ok; } -let _note = null; -let _noteTimer = null; - -// Said once and gone, in the playlists' note (style.css `.playlist-note`). -// Appended to the body rather than rendered by a view, because the views that -// copy include modals and a context menu that has already closed. -function _say(text) { - if (!_note) { - _note = document.createElement('div'); - _note.className = 'playlist-note copy-link-note'; - _note.setAttribute('role', 'status'); - } - _note.textContent = text; - document.body.appendChild(_note); - clearTimeout(_noteTimer); - _noteTimer = setTimeout(() => { if (_note) _note.remove(); }, 2500); -} - /** Copy `url`, and say whether it worked. The link itself is shown if not. */ export async function copyLink(url) { if (!url) return; const ok = await _write(url); - _say(ok ? t('link.copied') : t('link.copy_failed', { url })); + say(ok ? t('link.copied') : t('link.copy_failed', { url })); } |