function refreshWeather(response) { let temperatureElement = document.querySelector("#temp"); let temperature = response.data.temperature.current; let cityElement = document.querySelector("#new-city"); let descriptionElement = document.querySelector("#description"); let humidityElement = document.querySelector("#humidity"); let windElement = document.querySelector("#wind"); let timeElement = document.querySelector("#time"); let date = new Date(response.data.time * 1000); let iconElement = document.querySelector("#imoji"); cityElement.innerHTML = response.data.city; timeElement.innerHTML = formatDate(date); descriptionElement.innerHTML = response.data.condition.description; humidityElement.innerHTML = `${response.data.temperature.humidity}%`; windElement.innerHTML = `${response.data.wind.speed}km/h`; temperatureElement.innerHTML = Math.round(temperature); iconElement.innerHTML = ``; getForecast(response.data.city); } function searchCity(city) { let apiKey = "02b07b9da237oacef6216ate870c6bb4"; let apiUrl = `https://api.shecodes.io/weather/v1/current?query=${city}&key=${apiKey}`; axios.get(apiUrl).then(refreshWeather); } function formatDate(date) { let minutes = date.getMinutes(); let hours = date.getHours(); let days = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", ]; let day = days[date.getDay()]; if (minutes < 10) { minutes = `0${minutes}`; } return `${day} ${hours}:${minutes}`; } function handleSearchSubmit(event) { event.preventDefault(); let searchInput = document.querySelector("#search-input"); searchCity(searchInput.value); } function formatDay(timestamp) { let date = new Date(timestamp * 1000); let days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]; return days[date.getDay()]; } function getForecast(city) { let apiKey = "b2a5adcct04b33178913oc335f405433"; let apiUrl = `https://api.shecodes.io/weather/v1/forecast?query=${city}&key=${apiKey}&units=metric`; axios(apiUrl).then(displayForecast); } function displayForecast(response) { let forecastElement = document.querySelector("#forecast"); let forecastHtml = ""; response.data.daily.forEach(function (day, index) { if (index < 5) { forecastHtml = forecastHtml + `
${formatDay(day.time)}
${Math.round( day.temperature.maximum )}° ${Math.round( day.temperature.minimum )}°
`; } }); forecastElement.innerHTML = forecastHtml; } let searchFormElement = document.querySelector("#search-form"); searchFormElement.addEventListener("submit", handleSearchSubmit); searchCity("Paris");