-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathscripts.js
More file actions
82 lines (69 loc) · 2.3 KB
/
scripts.js
File metadata and controls
82 lines (69 loc) · 2.3 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
const form = document.querySelector('.generate-form');
const spinner = document.querySelector('.image-box');
const spinnerImg = document.querySelector('.image-box img');
const qr = document.getElementById('qrcode');
actionButtons()
function actionButtons() {
userSection = document.querySelector('.user-section');
document.getElementById('save-section').addEventListener('click', () => {
userSection.classList.toggle('user-section-toggler');
})
document.querySelector('.close-btn').addEventListener('click', () => {
userSection.classList.toggle('user-section-toggler');
})
}
const onGenerateSubmit = (e) => {
e.preventDefault()
qr.innerHTML = '';
const saveLinke = document.querySelector('.download-btn');
const saveLinke2 = document.querySelector('.add-database');
if (saveLinke || saveLinke2) {
saveLinke.remove()
saveLinke2.remove()
}
url = document.getElementById('url').value;
size = document.getElementById('size').value;
showSpiner()
if (url) {
setTimeout(() => {
hideSpiner()
generateQRCode(url, size);
setTimeout(() => {
form.classList.add('generate-form-toggler');
saveURL = qr.querySelector('img').src;
createSaveBtn(saveURL);
}, 50)
}, 1000)
}
}
const generateQRCode = (url, size) => {
const qrcode = new QRCode('qrcode', {
text: url,
width: size,
height: size
})
}
form.addEventListener('submit', onGenerateSubmit)
const showSpiner = () => {
spinner.style.opacity = 'border: 1.5px dotted dodgerblue'
spinnerImg.style.display = 'block'
qr.style.display = 'none'
}
const hideSpiner = () => {
spinner.style.border = 'none';
spinnerImg.style.display = 'none'
qr.style.display = 'block'
}
const createSaveBtn = (saveURL) => {
const link = document.createElement('a');
link.download = 'qrcode';
link.classList = 'download-btn';
link.href = saveURL;
link.innerHTML = "Download Image";
generated = document.getElementById('generated');
const link2 = document.createElement('button');
link2.classList = 'download-btn add-database';
link2.innerHTML = "Add to data-base"
generated.appendChild(link);
generated.appendChild(link2);
}