32 lines
1.2 KiB
JavaScript
32 lines
1.2 KiB
JavaScript
function copyGameLink() {
|
|
const gameId = document.querySelector('meta[name="gameId"]').content;
|
|
const gameLink = `${window.location.origin}${window.location.pathname}?gameId=${gameId}`;
|
|
|
|
navigator.clipboard
|
|
.writeText(gameLink)
|
|
.then(() => {
|
|
const copyLinkButton = document.getElementById('copy-link-button');
|
|
const copyLinkText = document.getElementById('copy-link-text');
|
|
const originalIconSrc = '/icons/clipboard-copy.svg';
|
|
const originalTextContent = 'Click to copy game link!';
|
|
|
|
if (window.copyButtonTimeoutId) {
|
|
clearTimeout(window.copyButtonTimeoutId);
|
|
}
|
|
|
|
copyLinkButton.querySelector('img').src = '/icons/copy-success.svg';
|
|
copyLinkText.textContent = 'Game link copied!';
|
|
copyLinkButton.classList.add('copied-state');
|
|
|
|
window.copyButtonTimeoutId = setTimeout(() => {
|
|
copyLinkButton.querySelector('img').src = originalIconSrc;
|
|
copyLinkText.textContent = originalTextContent;
|
|
copyLinkButton.classList.remove('copied-state');
|
|
window.copyButtonTimeoutId = null;
|
|
}, 3000);
|
|
})
|
|
.catch((err) => {
|
|
console.error('Failed to copy link: ', err);
|
|
});
|
|
}
|