Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
  • Loading branch information
suryakanta-mohanty authored Apr 19, 2024
1 parent b646ec8 commit 32a96bf
Show file tree
Hide file tree
Showing 12 changed files with 221 additions and 0 deletions.
Binary file added image/clear.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/clouds.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/drizzle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/humidity.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/mist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/rain.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/snow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/wind.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Weather App</title>
<link rel="stylesheet" href="style.css">
<link rel="shortcut icon" href="./image/clear.png" type="image/x-icon">
</head>
<body>
<div class="card">
<div class="search">
<input type="text" placeholder="enter city name" spellcheck="false">
<button><img src="image/search.png" alt="search Icon"></button>
</div>

<div class="error">
<p>Invalid City Name.</p>
</div>
<div class="weather">
<img src="image/rain.png" alt="rain Image" class="weather-icon">
<h1 class="temp">31°C</h1>
<h2 class="city">New York</h2>
<div class="details">
<div class="col">
<img src="image/humidity.png" >
<div>
<p class="humidity">50%</p>
<p>Humidity</p>
</div>
</div>
<div class="col">
<img src="image/wind.png" >
<div>
<p class="wind">15 km/h</p>
<p>Wind Speed</p>
</div>
</div>
</div>
</div>
</div>

<script src="./script.js"></script>
</body>
</html>
48 changes: 48 additions & 0 deletions script.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
const apiKey = "199437d7d1e98e368021b99af74d71de";
const apiUrl = "https://api.openweathermap.org/data/2.5/weather?units=metric&q=";

const searchBox = document.querySelector(".search input");
const searchBtn = document.querySelector(".search button");

const weatherIcon = document.querySelector(".weather-icon");


async function checkWeather(city){
const response = await fetch(apiUrl + city + `&appid=${apiKey}`);

if(response.status == 404){
document.querySelector(".error").style.display = "block";
document.querySelector(".weather").style.display = "none";
} else{
var data = await response.json();

console.log(data);

document.querySelector(".city").innerHTML = data.name;
document.querySelector(".temp").innerHTML = Math.round(data.main.temp) + "°C";
document.querySelector(".humidity").innerHTML = data.main.humidity + "%";
document.querySelector(".wind").innerHTML = data.wind.speed + " km/h";

if(data.weather[0].main == "Clouds"){
weatherIcon.src = "image/clouds.png";
} else if(data.weather[0].main == "Clear"){
weatherIcon.src = "image/clear.png";
} else if(weatherIcon[0].main == "Rain"){
weatherIcon.src = "image/rain.png";
} else if(weatherIcon[0].main == "Drizzle"){
weatherIcon.src = "image/drizzle.png";
} else if(weatherIcon[0].main == "Mist"){
weatherIcon.src = "image/mist.png";
}

document.querySelector(".weather").style.display = "block";
document.querySelector(".error").style.display = "none";
}



}

searchBtn.addEventListener("click", ()=>{
checkWeather(searchBox.value);
})
128 changes: 128 additions & 0 deletions style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
@import url('https://fonts.googleapis.com/css2?family=Baloo+Bhaina+2&family=Dancing+Script&family=Poppins:wght@100;200;300;400;500;600;700;800;900&display=swap');

*{
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Poppins', sans-serif;
}

body{
background-color: black;
}

.card{
width: 90%;
max-width: 470px;
background: linear-gradient(135deg, #00feba, #5b548a);
margin: 100px auto 0;
color: #fff;
border-radius: 20px;
padding: 40px 35px;
text-align: center;
}

.search{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}

.search input{
border: none;
outline: none;
background: #ebfffc;
color: #555;
padding: 10px 25px;
height: 60px;
border-radius: 30px;
flex: 1;
margin-right: 16px;
font-size: 18px;
}

.search button{
border: none;
outline: none;
background: #ebfffc;
border-radius: 50%;
width: 60px;
height: 60px;
cursor: pointer;
}

.search button img{
width: 16px;
transform: translateY(3px);
}

.weather-icon{
width: 170px;
margin-top: 30px;

}

.weather h1{
font-size: 80px;
font-weight: 500;
}

.weather h2{
font-size: 45px;
font-weight: 400;
margin-top: -10px;
}

.details{
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 20px;
margin-top: 50px;
}

.col{
display: flex;
align-items: center;
text-align: left;
}

.col img{
width: 40px;
margin-right: 10px;
}

.humidity, .wind{
font-size: 28px;
margin-top: -6px;
}

.weather{
display: none;
}

.error{
text-align: left;
margin-left: 10px;
font-size: 14px;
margin-top: 10px;
display: none;
}

















0 comments on commit 32a96bf

Please sign in to comment.