-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
54 lines (48 loc) · 1.69 KB
/
index.js
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
const inputContainer = document.getElementById("input-container");
const schemeContainer = document.getElementById("scheme-container");
const toggle = document.getElementById("toggle");
document
.getElementById("select-btn")
.addEventListener("click", fetchAndRenderColorScheme);
function fetchAndRenderColorScheme() {
const seedColor = document.getElementById("seed-color").value.substring(1);
const mode = document
.getElementById("color-scheme-selector")
.value.toLowerCase();
fetch(`https://www.thecolorapi.com/scheme?hex=${seedColor}&mode=${mode}`)
.then((response) => response.json())
.then((data) => {
// console.log(data.mode);
let html = "";
data.colors.forEach(function (color) {
html += `
<div class="color-column" tabindex="0">
<div id=${color.hex.value} class="hex-color" data-tooltip="Copied!" style="background-color:${color.hex.value}">${color.name.value}</div>
<p id=${color.hex.value} class="hex-code hover-effect" data-tooltip="Copied!">${color.hex.value}</p>
</div>
`;
});
schemeContainer.innerHTML = html;
});
copyColor();
}
fetchAndRenderColorScheme();
function copyColor() {
schemeContainer.addEventListener("click", function (e) {
let copiedHexCode = e.target.id;
if (copiedHexCode) {
navigator.clipboard.writeText(copiedHexCode).then(() => {
tippy(e.target, {
content: "Copied!",
placement: "bottom",
theme: "tooltip",
});
e.target._tippy.show();
});
}
});
}
toggle.addEventListener("input", function () {
inputContainer.classList.toggle("dark-mode");
schemeContainer.classList.toggle("dark-mode");
});