-
Notifications
You must be signed in to change notification settings - Fork 0
/
api.js
102 lines (88 loc) · 3.07 KB
/
api.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
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
let player = ""; //LILBUB Digidro AwestrickeN YungHassle
let tag = ""; //21364 2108 2574 2737
let region = "ru";
let platform = "pc";
let delaytimer;
const proxy = "https://api.allorigins.win/raw?url=";
let link = () => {
return `https://best-overwatch-api.herokuapp.com/player/${platform}/${region}/${player}-${tag}`;
};
function isEmpty(obj) {
for (let key in obj) {
return false;
}
return true;
}
const bg = document.querySelector(".bg");
const search = document.querySelector(".searching");
const username = document.querySelector(".username");
const tagText = document.querySelector(".tag");
const portrait = document.querySelector(".portrait");
const frame = document.querySelector(".frame");
const stars = document.querySelector(".stars");
const level = document.querySelector(".level");
const totalTime = document.querySelector(".total-time");
const qWon = document.querySelector(".quickplay.won");
const qPlayed = document.querySelector(".quickplay.played");
const qKd = document.querySelector(".quickplay.kd");
const cPlayed = document.querySelector(".competitive.played");
const cWon = document.querySelector(".competitive.won");
const cLost = document.querySelector(".competitive.lost");
const cDraw = document.querySelector(".competitive.draw");
const cKd = document.querySelector(".competitive.kd");
function createDom() {
let API = fetch(proxy + link())
.then((res) => res.json())
.then(function (data) {
if (isEmpty(data)) {
search.classList.remove("none");
search.classList.add("animate");
} else {
search.classList.add("none");
search.classList.remove("animate");
console.log(data);
}
qWon.textContent = data.games.quickplay.won;
qPlayed.textContent = data.games.quickplay.played;
qKd.textContent = (
data.games.quickplay.played / data.games.quickplay.won
).toFixed(2);
cPlayed.textContent = data.games.competitive.played;
cWon.textContent = data.games.competitive.won;
cLost.textContent = data.games.competitive.lost;
cDraw.textContent = data.games.competitive.draw;
cKd.textContent = (
data.games.competitive.won / data.games.competitive.lost
).toFixed(2);
username.textContent = data.username;
tagText.textContent = "#" + tag;
level.textContent = `Level: ${data.level}`;
totalTime.textContent = `Total play time:
${
parseInt(data.playtime.quickplay.split(":")[0]) +
parseInt(data.playtime.competitive.split(":")[0])
} hours`;
bg.src = data.portrait;
portrait.src = data.portrait;
frame.src = data.levelFrame;
frame.classList.remove("none");
stars.src = data.star;
stars.classList.remove("none");
});
}
username.onkeyup = function () {
player = username.value;
clearTimeout(delaytimer);
delaytimer = setTimeout(function () {
console.log(player);
createDom();
}, 1000);
};
tagText.onkeyup = function () {
tag = tagText.value;
clearTimeout(delaytimer);
delaytimer = setTimeout(function () {
console.log(tag);
createDom();
}, 1000);
};