Build a Weather App - Build a Weather App

Tell us what’s happening:

My code appears to be functioning as expected, but I am failing tests 19-23.

Your code so far

<!-- file: index.html -->
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>Weather App</title>
  </head>

  <body>
    <span id="weather-info">
      <img id="weather-icon" />
      <div id="main-temperature"></div>
      <div id="feels-like"></div>
      <div id="humidity"></div>
      <div id="wind"></div>
      <div id="wind-gust"></div>
      <div id="weather-main"></div>
      <div id="location"></div>
    </span>
    <select id="city-select">
      <option value="" selected></option>
      <option value="new york">New York</option>
      <option value="los angeles">Los Angeles</option>
      <option value="chicago">Chicago</option>
      <option value="paris">Paris</option>
      <option value="tokyo">Tokyo</option>
      <option value="london">London</option>
    </select>
    <button id="get-weather-btn">Get Weather</button>
    <script src="script.js"></script>
  </body>
</html>
/* file: styles.css */

/* file: script.js */
let citySelect = document.getElementById("city-select");
let btn = document.getElementById("get-weather-btn");
let weatherIcon = document.getElementById("weather-icon");
let mainTemp = document.getElementById("main-temperature");
let feelsLike = document.getElementById("feels-like");
let humidity = document.getElementById("humidity");
let wind = document.getElementById("wind");
let windGust = document.getElementById("wind-gust");
let weatherMain = document.getElementById("weather-main");
let local = document.getElementById("location");

async function getWeather(city) {
  try {
    let response = await fetch(`https://weather-proxy.freecodecamp.rocks/api/city/${city}`);
    let data = await response.json();
    return data;
  } catch (error) {
    console.log(error);
  }
}
async function showWeather() {
  try {
   if (citySelect.value === "") {
    return;
   }
   let data = await getWeather(citySelect.value);
    weatherIcon.src = data.weather[0].icon;
    mainTemp.textContent = data.main.temp === undefined ? "N/A" : data.main.temp;
    feelsLike.textContent = data.main.feels_like === undefined ? "N/A" : data.main.feels_like;
    humidity.textContent = data.main.humidity === undefined ? "N/A" : data.main.humidity;
    wind.textContent = data.wind.speed === undefined ? "N/A" : data.wind.speed;
    windGust.textContent = data.wind.gust === undefined ? "N/A" : data.wind.gust;
    weatherMain.textContent = data.weather.main === undefined ? "N/A" : data.weather.main;
    local.textContent = data.name === undefined ? "N/A" : data.name;
  } catch (error) {
    alert("Something went wrong, please try again later");
  }
}

btn.addEventListener("click", showWeather)

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36

Challenge Information:

Build a Weather App - Build a Weather App

GitHub Link: freeCodeCamp/curriculum/challenges/english/blocks/lab-weather-app/66f12a88741aeb16b9246c59.md at main · freeCodeCamp/freeCodeCamp · GitHub

Hi @19mikejones97,

Are you sure you’re accessing main correctly?

Happy coding