-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
65 lines (58 loc) · 2.02 KB
/
script.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
const container = document.querySelector(".container");
const input = document.querySelector("#city-input");
const fetchMeteoBtn = document.querySelector(".meteo-btn");
const result = document.querySelector("#result");
const city = document.querySelector(".city");
const weather = document.querySelector(".weather");
const weatherIcon = document.querySelector(".weatherImg");
const temp = document.querySelector(".tmp");
const error = document.querySelector(".error");
// ******* FETCH METEO ********
const fetchMeteo = async () => {
let cityToFetch = input.value;
const response = await fetch(
`https://www.prevision-meteo.ch/services/json/${cityToFetch}`
);
const data = await response.json();
return data;
};
// ******* CHANGE CITY ********
fetchMeteoBtn.addEventListener("click", () => {
if (container.classList.contains("disabled")) {
container.classList.toggle("disabled");
}
// fetchMeteo().then((data) => {
// if (data.errors) {
// error.classList.remove("disabled");
// result.classList.add("disabled");
// } else {
// error.classList.add("disabled");
// result.classList.remove("disabled");
// city.innerHTML = `${data.city_info.name}`;
// // fetchImg(data.current_condition.icon_big);
// weatherIcon.src = data.current_condition.icon_big;
// temp.innerHTML = `${data.current_condition.tmp}°C`;
// }
// });
const getMeteoData = async () => {
const data = await fetchMeteo();
if (data.errors) {
error.classList.remove("disabled");
result.classList.add("disabled");
} else {
error.classList.add("disabled");
result.classList.remove("disabled");
city.innerHTML = `${data.city_info.name}`;
// fetchImg(data.current_condition.icon_big);
weatherIcon.src = data.current_condition.icon_big;
temp.innerHTML = `${data.current_condition.tmp}°C`;
}
};
getMeteoData();
});
input.addEventListener("keypress", (e) => {
if (e.key === "Enter") {
e.preventDefault();
fetchMeteoBtn.click();
}
});