Day 5: POST Requests, Loading States & Week 8 Mini-Project
Daily Objective
Section titled “Daily Objective”Send data via HTTP POST, handle loading and error states in UI, and build the Weather / Pokédex App.
1. Managing UI States (Loading, Error, Success)
Section titled “1. Managing UI States (Loading, Error, Success)”async function searchData() { const loader = document.querySelector('#spinner'); loader.classList.remove('hidden'); // Show loading try { const res = await fetch('https://api.open-meteo.com/v1/forecast?latitude=40.4168&longitude=-3.7038¤t_weather=true'); const data = await res.json(); renderWeather(data); } catch (err) { showErrorAlert(err.message); } finally { loader.classList.add('hidden'); // Hide loading }}Week 8 Mini-Project: Weather or Pokédex App
Section titled “Week 8 Mini-Project: Weather or Pokédex App”Project Requirements:
- Connect to a free public API (e.g., Open-Meteo or PokéAPI).
- An input field for searching by city name or Pokémon name.
- Render a loading spinner or indicator during fetch operations.
- Render data in responsive UI cards (name, image, attributes).
- Handle invalid queries with a friendly error message.