Skip to content

Commit 5a60ac2

Browse files
committed
QR generater Created
0 parents  commit 5a60ac2

File tree

4 files changed

+92
-0
lines changed

4 files changed

+92
-0
lines changed

FileSaver.min.js

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const input = document.querySelector('.qr-text');
2+
const qrImg = document.querySelector('.qr-img');
3+
const downloadBtn = document.querySelector('.download-btn');
4+
5+
let userText, link;
6+
7+
function handleQR() {
8+
userText = this.value;
9+
link = `https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=${userText}` ;
10+
qrImg.src = link;
11+
}
12+
13+
input.addEventListener('change', handleQR);
14+
15+
downloadBtn.addEventListener('click', () => {
16+
saveAs(link, 'img.png');
17+
});
18+

index.html

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8">
6+
<meta http-equiv="X-UA-Compatible" content="IE=edge">
7+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
8+
<title>QR Code Generator</title>
9+
<link rel="stylesheet" href="style.css">
10+
</head>
11+
12+
<body>
13+
<div class="main-container">
14+
<img class = "qr-img" src=" https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=Example" alt="QR Code" />
15+
<textarea class="qr-text" name="" id="" cols="27" rows="3" placeholder="Enter your text..."></textarea>
16+
<button class="download-btn">Download</button>
17+
</div>
18+
19+
<script src="app.js"></script>
20+
<script src="FileSaver.min.js"></script>
21+
22+
</body>
23+
</html>

style.css

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
* {
2+
box-sizing: border-box;
3+
}
4+
5+
body {
6+
width: 100%;
7+
height: 100vh;
8+
margin: 0;
9+
background: linear-gradient(45deg, skyblue, royalblue, blue);
10+
}
11+
12+
.main-container {
13+
font-family: Arial, Helvetica, sans-serif;
14+
display: flex;
15+
align-items: center;
16+
justify-content: center;
17+
flex-direction: column;
18+
gap: 20px;
19+
width: 100%;
20+
height: 100vh;
21+
}
22+
23+
.qr-text {
24+
font-family: 'Courier New', Courier, monospace;
25+
padding: 0.7rem 1rem;
26+
font-size: 1rem;
27+
background-color: rgb(4, 15, 25);
28+
color: white;
29+
box-shadow: 0 2px 8px -3px black;
30+
}
31+
32+
.download-btn {
33+
padding: 0.7rem 1rem;
34+
font-size: 1rem;
35+
font-family: monospace;
36+
font-weight: bold;
37+
cursor: pointer;
38+
word-spacing: -5px;
39+
transform: scale(1);
40+
transition: 0.4s;
41+
border-radius: 5px;
42+
border: none;
43+
}
44+
.download-btn:hover {
45+
transform: scale(1.1);
46+
font-size: 1.1rem;
47+
}
48+

0 commit comments

Comments
 (0)