peer_name: user feedback for copy

This commit is contained in:
Starbeamrainbowlabs 2022-03-14 02:49:02 +00:00
parent 1a214bf8c5
commit 437c0da2f7
Signed by: sbrl
GPG key ID: 1BE5172E637709C2

View file

@ -1,5 +1,7 @@
"use strict"; "use strict";
const display_id_length = 7;
function handle_toggle_id(event) { function handle_toggle_id(event) {
event.target.closest(`.peer-name`) event.target.closest(`.peer-name`)
.querySelector(`.peer-name-id`) .querySelector(`.peer-name-id`)
@ -7,11 +9,20 @@ function handle_toggle_id(event) {
} }
async function handle_copy_id(event) { async function handle_copy_id(event) {
await navigator.clipboard.writeText(event.target let peer_id = event.target
.closest(`.peer-name`) .closest(`.peer-name`)
.dataset.peer_id); .dataset.peer_id;
await navigator.clipboard.writeText(peer_id);
// TODO: Show notification here event.target.replaceChildren(document.createTextNode(`Copied!`));
setTimeout(() => {
event.target.replaceChildren(document.createTextNode(
peer_id.substring(0, display_id_length)
));
}, 1250);
// TODO: Show a fancy notification here?
} }
export default function peer_name(peer) { export default function peer_name(peer) {
@ -27,7 +38,7 @@ export default function peer_name(peer) {
const peer_id = document.createElement("span"); const peer_id = document.createElement("span");
peer_id.classList.add(`peer-name-id`, `invisible-gone`); peer_id.classList.add(`peer-name-id`, `invisible-gone`);
peer_id.appendChild(document.createTextNode( peer_id.appendChild(document.createTextNode(
peer.id.substring(0, 7) peer.id.substring(0, display_id_length)
)); ));
peer_name.addEventListener("click", handle_toggle_id); peer_name.addEventListener("click", handle_toggle_id);