-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfirstindex.html
88 lines (86 loc) · 3.74 KB
/
firstindex.html
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Weather App</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Open+Sans&display=swap"
rel="stylesheet"
/>
<link rel="stylesheet" href="./public/css/style.css" />
<!-- <script src="./script.js" type="text/javascript" defer></script> -->
</head>
<body>
<div class="card">
<div class="search">
<input type="text" class="search-bar" placeholder="Search" />
<button>
<svg
stroke="currentColor"
fill="currentColor"
stroke-width="0"
viewBox="0 0 1024 1024"
height="1.5em"
width="1.5em"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"
></path>
</svg>
</button>
</div>
<div class="weather">
<h2 class="city">Weather in Surat</h2>
<h1 class="temp">33°C</h1>
<div class="flex">
<img src="http://openweathermap.org/img/wn/04n.png" alt="" class="icon" />
<div class="description">Cloudy</div>
</div>
<div class="humidity">Humidity: 65%</div>
<div class="wind">Wind speed: 6.2 km/h</div><br>
<p>If you want regular weather alerts from us then please <a href="/subscribe" style="color: rgb(57, 130, 159);">Subscribe</a></p>
</div>
</div>
<script>
var promise = import("./config");
let weather = {
apiKey: '65a625e401e486d366734375c451a301',
fetchWeather: function (city) {
fetch("https://api.openweathermap.org/data/2.5/weather?q="+city+"&units=metric&appid="+this.apiKey)
.then((response) => response.json())
.then((data) => this.displayWeather(data));
},
displayWeather: function(data){
const {name} = data;
const {icon,description} = data.weather[0];
const {temp,humidity} = data.main;
const { speed } = data.wind;
console.log(name,icon,description,temp,humidity,speed);
document.querySelector(".city").innerText = "Weather in " + name;
document.querySelector(".icon").src = "http://openweathermap.org/img/wn/"+ icon +".png";
document.querySelector(".description").innerText = description;
document.querySelector(".temp").innerText = temp+"°C";
document.querySelector(".humidity").innerText = "Humidity: "+ humidity + "%";
document.querySelector(".wind").innerText = "Wind Speed: " + speed +"km/h";
document.body.style.backgroundImage = "url('https://source.unsplash.com/random/1600x900/?"+ name +"')";
},
search : function(){
this.fetchWeather(document.querySelector(".search-bar").value)
}
}
document.querySelector(".search button").addEventListener("click", function(){
weather.search();
})
document.querySelector(".search-bar").addEventListener("keyup",function(event){
if(event.key == "Enter"){
weather.search();
}
})
</script>
</body>
</html>