diff options
author | metamuffin <metamuffin@disroot.org> | 2023-10-01 10:14:20 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-10-01 10:14:20 +0200 |
commit | 3fa55dba1b0ca408a10e7456a6d4308dd114c2f6 (patch) | |
tree | f1f378662406a5f091816ca97c3f1ccfb5210eef /web/script/playerconf-copy-url.js | |
parent | d857684dd6358fb5ff979ca09ac78b5649b0f411 (diff) | |
download | jellything-3fa55dba1b0ca408a10e7456a6d4308dd114c2f6.tar jellything-3fa55dba1b0ca408a10e7456a6d4308dd114c2f6.tar.bz2 jellything-3fa55dba1b0ca408a10e7456a6d4308dd114c2f6.tar.zst |
move stylesheets and refactor js bundler
Diffstat (limited to 'web/script/playerconf-copy-url.js')
-rw-r--r-- | web/script/playerconf-copy-url.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/web/script/playerconf-copy-url.js b/web/script/playerconf-copy-url.js new file mode 100644 index 0000000..49f27fd --- /dev/null +++ b/web/script/playerconf-copy-url.js @@ -0,0 +1,32 @@ + +globalThis.addEventListener("load", () => { + for (const e of document.getElementsByClassName("playerconf")) + patch_playerconf(e) +}) + +function patch_playerconf(form) { + const submit = form.lastChild + + const copyurl = document.createElement("button") + const d = document.createElement("div") + form.removeChild(submit) + d.appendChild(submit) + d.appendChild(copyurl) + form.append(d) + + copyurl.textContent = "Copy Stream URL" + d.style.gridArea = "b" + d.style.width = "100%" + copyurl.style.width = "5em" + + copyurl.addEventListener("click", ev => { + const session = document.cookie.split(";").map(e => e.trim().split("=")).find(e => e[0] == "session")[1] + ev.preventDefault() + const fd = new FormData(form) + const sp = ["v", "a", "s"].map(k => fd.get(k)).filter(k => k != "").flat() + const url = `${window.location.protocol}//${window.location.host}/n/${window.location.pathname.split("/")[2]}/stream?tracks=${sp}&session=${session}` + navigator.clipboard.writeText(url) + copyurl.textContent = "Copied" + setTimeout(() => copyurl.textContent = "Copy Stream URL", 1000) + }) +} |