From 09d278e60312924477338586a9ca9a69e73f8c24 Mon Sep 17 00:00:00 2001 From: Vipul Yadav Date: Thu, 27 Jun 2024 18:01:28 +0530 Subject: [PATCH] new index.html --- cloudy.png | Bin 0 -> 13710 bytes index.html | 79 ++++++++++++++++++++++++++++ script.js | 88 +++++++++++++++++++++++++++++++ style.css | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 316 insertions(+) create mode 100644 cloudy.png create mode 100644 index.html create mode 100644 script.js create mode 100644 style.css diff --git a/cloudy.png b/cloudy.png new file mode 100644 index 0000000000000000000000000000000000000000..31dc9bee3bc11efb5e1f86e88304fa04431cfcd6 GIT binary patch literal 13710 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..2be4da7 --- /dev/null +++ b/index.html @@ -0,0 +1,79 @@ + + + + + + + Weather App + + + + + + + + +

+
+ +
+ °C + °F +
+
+
+

+
+

+
+
+

Cloudy

+
+
+ +
+

+ 18° +

+
+

Min: 12°

+

Max: 16°

+
+
+
+
+ +
+

Real Feel

+

18°

+
+
+
+ +
+

Humidity

+

18°

+
+
+
+ +
+

Wind

+

18°

+
+
+
+ +
+

Pressure

+

18°

+
+
+
+
+ + + \ No newline at end of file diff --git a/script.js b/script.js new file mode 100644 index 0000000..ea532f6 --- /dev/null +++ b/script.js @@ -0,0 +1,88 @@ +let currentCity = "Panvel"; +let units = "metric"; + +let city = document.querySelector(".weather__city"); +let datetime = document.querySelector(".weather__datetime"); +let weather__forecast = document.querySelector(".weather__forecast"); +let weather__temperature = document.querySelector(".weather__temperature"); +let weather__icon = document.querySelector(".weather__icon"); +let weather__minmax = document.querySelector(".weather__minmax"); +let weather__realfeel = document.querySelector(".weather__realfeel"); +let weather__humidity = document.querySelector(".weather__humidity"); +let weather__wind = document.querySelector(".weather__wind"); +let weather__pressure = document.querySelector(".weather__pressure"); +let weather__search = document.querySelector(".weather__search"); + +weather__search.addEventListener("submit", (e) => { + let search = document.querySelector(".weather__searchform"); + e.preventDefault(); + currentCity = search.value; + getWeather(); + search.value = ""; +}); + +document.querySelector(".unit__celsisus").addEventListener("click", () => { + if (units !== "metric") { + units = "metric"; + + getWeather(); + } +}); + +document.querySelector(".unit__fharenheit").addEventListener("click", () => { + if (units !== "imperial") { + units = "imperial"; + + getWeather(); + } +}); + +function convertCountryCode(country) { + let regionName = new Intl.DisplayNames(["en"], { type: "region" }); + return regionName.of(country); +} + +function convertTimestamp(timestamp, timezone) { + const convertTimeZone = timezone / 3600; + + const date = new Date(timestamp * 1000); + + const options = { + weekday: "long", + day: "numeric", + month: "long", + year: "numeric", + hiur: "numeric", + minute: "numeric", + timeZOne: `Etc/GMT${convertTimeZone >= 0 ? "-" : "+"}${Math.abs( + convertTimeZone + )}`, + hour12: true, + }; + return date.toLocaleString(options); +} +function getWeather() { + const API_KEY = "1d9f78e30b2044005ce9938e00c57fb2"; + fetch( + `https://api.openweathermap.org/data/2.5/weather?q=${currentCity}&appid=${API_KEY}&units=${units}` + ) + .then((res) => res.json()) + .then((data) => { + city.innerHTML = `${data.name}, ${convertCountryCode(data.sys.country)}`; + datetime.innerHTML = convertTimestamp(data.dt, data.timezone); + weather__forecast.innerHTML = `

${data.weather[0].main}`; + weather__temperature.innerHTML = `${data.main.temp.toFixed()}°`; + weather__icon.innerHTML = ` + `; + weather__minmax.innerHTML = `

Min: ${data.main.temp_min.toFixed()}°

+

Max: ${data.main.temp_max.toFixed()}°

`; + weather__realfeel.innerHTML = `${data.main.feels_like.toFixed()}°`; + weather__humidity.innerHTML = `${data.main.humidity.toFixed()}%`; + weather__wind.innerHTML = `${data.wind.speed}${ + units === "imperial" ? "mph" : "m/s" + }`; + weather__pressure.innerHTML = `${data.main.pressure}hPA`; + }); +} + +document.body.addEventListener("load", getWeather()); \ No newline at end of file diff --git a/style.css b/style.css new file mode 100644 index 0000000..f6a191d --- /dev/null +++ b/style.css @@ -0,0 +1,149 @@ +@import url("https://fonts.googleapis.com/css2?family=Poppins&display=swap"); + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: "Poppins", sans-serif; +} + +.container { + background: rgb(14, 13, 13); + color: #a01818; + padding: 2rem; + width: 40%; + margin: 4rem auto; + border-radius: 10px; + box-shadow: -5px 5px 5px #1e41a12c; +} + +.weather__header { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +input { + border: none; + background-color: #292727; + outline: none; + padding: 0.5rem 2.5rem; + border-radius: 20px; + color: #ffffff; + font: inherit; +} + +input::placeholder { + color: #ffffff; +} + +input:hover { + background-color: #312d2d; +} + +.weather__search { + position: relative; +} + +.weather__search i { + position: absolute; + left: 10px; + top: 10px; + font-size: 20px; + color: white; +} + +.weather__units { + font-size: 1.5rem; +} + +.weather__units span { + cursor: pointer; +} + +.weather__units span:first-child { + margin-right: 0.5rem; +} + +.weather__body { + text-align: center; + margin-top: 3rem; +} + + +.weather__forecast { + margin-top: 2rem; + font-size: 18px; + background: #181818; + display: inline-block; + padding: 0.25rem 0.75rem; + border-radius: 20px; +} + +.weather__icon img { + width: 100px; +} + +.weather__temperature { + font-size: 2rem; +} + +.weather__minmax { + display: flex; + justify-content: center; +} + +.weather__minmax p { + margin: 1rem; +} + +.weather__info { + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-gap: 1rem; + margin-top: 2rem; +} + +.weather__card { + display: flex; + align-items: center; + background: #181818; + padding: 1rem; + border-radius: 10px; +} + +.weather__card i { + font-size: 1.5rem; + margin-right: 1rem; +} + +@media (max-width: 1060px) { + .container { + width: 6 + 0%; + } +} + +@media (max-width: 936px) { + .container { + width: 90%; + } + + .weather__header { + flex-direction: column; + } + + .weather__units { + margin-top: 1rem; + } +} + +@media (max-width: 400px) { + .weather__icon { + grid-template-columns: none; + } +} \ No newline at end of file