-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
81 lines (69 loc) · 2.47 KB
/
script.js
File metadata and controls
81 lines (69 loc) · 2.47 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
const temperatureField = document.querySelector(".temp");
const locationField = document.querySelector(".time_location p");
const dateAndTimeField = document.querySelector(".time_location span");
const conditionField = document.querySelector(".condition p");
const iconField = document.querySelector(".condition img")
const searchField = document.querySelector(".search_area");
const form = document.querySelector("form");
const body = document.querySelector("body");
let target = "Lucknow";
window.addEventListener("load", preLoad);
form.addEventListener("submit", searchForLocation);
const fetchResults = async (targetLocation) => {
let url = `https://api.weatherapi.com/v1/current.json?key=7b84755c6b6a42c9b1982717240702&q=${targetLocation}&aqi=no`
const res = await fetch(url);
const data = await res.json();
console.log(data);
let locationName = data.location.name;
let time = data.location.localtime;
let temp = data.current.temp_c;
let condition = data.current.condition.text;
let conditionIcon = data.current.condition.icon;
updateDetails(temp, locationName, time, condition, conditionIcon);
}
function updateDetails(temp, locationName, time, condition, conditionIcon){
let splitDate = time.split(" ")[0];
let splitTime = time.split(" ")[1];
let currentDay = getDayName(new Date(splitDate).getDay());
temperatureField.innerHTML = temp;
locationField.innerHTML = locationName;
dateAndTimeField.innerHTML = `${splitDate} ${currentDay} ${splitTime}`;
conditionField.innerHTML = condition;
iconField.setAttribute("src", conditionIcon);
}
function searchForLocation(e){
e.preventDefault();
target = searchField.value;
fetchResults(target);
}
function preLoad(){
target = "Lucknow";
fetchResults(target);
}
function getDayName(number){
switch (number) {
case 0:
return "Sunday";
break;
case 1:
return "Monday";
break;
case 2:
return "Tuesday";
break;
case 3:
return "Wednesday";
break;
case 4:
return "Thursday";
break;
case 5:
return "Friday";
break;
case 6:
return "Saturday";
break;
default:
break;
}
}