-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
49 lines (42 loc) · 1.64 KB
/
script.js
File metadata and controls
49 lines (42 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
document.addEventListener('DOMContentLoaded', function() {
const form = document.querySelector('form');
const input = document.querySelector('input[type="url"]');
const submitButton = form.querySelector('button[type="submit"]');
form.addEventListener('submit', function(e) {
e.preventDefault();
if (input.checkValidity()) {
submitButton.innerHTML = '<i class="fas fa-spinner fa-spin"></i>';
submitButton.disabled = true;
form.submit();
}
});
input.addEventListener('input', function() {
if (this.value.length > 0) {
this.classList.add('has-content');
} else {
this.classList.remove('has-content');
}
});
});
function copyShortUrl() {
const shortUrl = document.getElementById('shortUrl');
const copyButton = document.getElementById('copyButton');
shortUrl.select();
shortUrl.setSelectionRange(0, 99999); // For mobile devices
navigator.clipboard.writeText(shortUrl.value).then(() => {
copyButton.innerHTML = '<i class="fas fa-check"></i>';
copyButton.style.backgroundColor = '#27ae60';
setTimeout(() => {
copyButton.innerHTML = '<i class="fas fa-copy"></i>';
copyButton.style.backgroundColor = '';
}, 2000);
}).catch(err => {
console.error('Failed to copy: ', err);
copyButton.innerHTML = '<i class="fas fa-times"></i>';
copyButton.style.backgroundColor = '#e74c3c';
setTimeout(() => {
copyButton.innerHTML = '<i class="fas fa-copy"></i>';
copyButton.style.backgroundColor = '';
}, 2000);
});
}